/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/loops/eureka_05.i -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 09:00:10,127 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 09:00:10,161 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 09:00:10,199 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 09:00:10,200 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 09:00:10,202 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 09:00:10,204 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 09:00:10,206 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 09:00:10,207 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 09:00:10,210 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 09:00:10,211 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 09:00:10,212 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 09:00:10,212 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 09:00:10,214 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 09:00:10,215 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 09:00:10,217 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 09:00:10,217 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 09:00:10,218 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 09:00:10,219 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 09:00:10,223 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 09:00:10,224 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 09:00:10,225 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 09:00:10,226 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 09:00:10,226 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 09:00:10,227 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 09:00:10,232 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 09:00:10,232 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 09:00:10,233 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 09:00:10,233 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 09:00:10,233 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 09:00:10,234 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 09:00:10,234 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 09:00:10,235 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 09:00:10,236 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 09:00:10,236 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 09:00:10,237 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 09:00:10,237 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 09:00:10,237 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 09:00:10,237 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 09:00:10,237 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 09:00:10,238 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 09:00:10,239 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 09:00:10,239 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 09:00:10,248 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 09:00:10,249 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 09:00:10,250 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 09:00:10,250 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 09:00:10,250 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 09:00:10,250 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 09:00:10,250 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 09:00:10,250 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 09:00:10,250 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 09:00:10,251 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 09:00:10,251 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 09:00:10,251 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 09:00:10,251 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 09:00:10,251 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 09:00:10,251 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 09:00:10,251 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 09:00:10,252 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 09:00:10,252 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 09:00:10,252 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 09:00:10,252 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 09:00:10,252 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 09:00:10,252 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 09:00:10,252 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 09:00:10,421 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 09:00:10,447 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 09:00:10,449 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 09:00:10,450 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 09:00:10,452 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 09:00:10,453 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/eureka_05.i [2022-04-28 09:00:10,502 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f06d2e6c1/83a5bd55fe0f4ec39733c4b27a70bcba/FLAG065cd4919 [2022-04-28 09:00:10,881 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 09:00:10,881 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05.i [2022-04-28 09:00:10,886 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f06d2e6c1/83a5bd55fe0f4ec39733c4b27a70bcba/FLAG065cd4919 [2022-04-28 09:00:10,895 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f06d2e6c1/83a5bd55fe0f4ec39733c4b27a70bcba [2022-04-28 09:00:10,898 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 09:00:10,900 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 09:00:10,901 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 09:00:10,901 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 09:00:10,905 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 09:00:10,906 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 09:00:10" (1/1) ... [2022-04-28 09:00:10,907 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5dd0bdfb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:10, skipping insertion in model container [2022-04-28 09:00:10,907 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 09:00:10" (1/1) ... [2022-04-28 09:00:10,911 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 09:00:10,921 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 09:00:11,045 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05.i[810,823] [2022-04-28 09:00:11,072 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 09:00:11,079 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 09:00:11,087 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05.i[810,823] [2022-04-28 09:00:11,093 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 09:00:11,104 INFO L208 MainTranslator]: Completed translation [2022-04-28 09:00:11,105 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:11 WrapperNode [2022-04-28 09:00:11,105 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 09:00:11,106 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 09:00:11,106 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 09:00:11,106 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 09:00:11,114 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:11" (1/1) ... [2022-04-28 09:00:11,115 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:11" (1/1) ... [2022-04-28 09:00:11,120 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:11" (1/1) ... [2022-04-28 09:00:11,121 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:11" (1/1) ... [2022-04-28 09:00:11,127 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:11" (1/1) ... [2022-04-28 09:00:11,131 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:11" (1/1) ... [2022-04-28 09:00:11,131 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:11" (1/1) ... [2022-04-28 09:00:11,133 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 09:00:11,134 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 09:00:11,134 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 09:00:11,134 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 09:00:11,134 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:11" (1/1) ... [2022-04-28 09:00:11,139 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 09:00:11,145 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:11,154 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 09:00:11,162 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 09:00:11,189 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 09:00:11,189 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 09:00:11,189 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 09:00:11,189 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 09:00:11,189 INFO L138 BoogieDeclarations]: Found implementation of procedure SelectionSort [2022-04-28 09:00:11,189 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 09:00:11,189 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 09:00:11,189 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 09:00:11,189 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_perror_fail [2022-04-28 09:00:11,189 INFO L130 BoogieDeclarations]: Found specification of procedure __assert [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure SelectionSort [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 09:00:11,190 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 09:00:11,240 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 09:00:11,241 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 09:00:11,419 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 09:00:11,425 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 09:00:11,425 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-04-28 09:00:11,426 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 09:00:11 BoogieIcfgContainer [2022-04-28 09:00:11,426 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 09:00:11,427 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 09:00:11,428 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 09:00:11,430 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 09:00:11,430 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 09:00:10" (1/3) ... [2022-04-28 09:00:11,431 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5d0bf83d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 09:00:11, skipping insertion in model container [2022-04-28 09:00:11,431 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 09:00:11" (2/3) ... [2022-04-28 09:00:11,431 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5d0bf83d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 09:00:11, skipping insertion in model container [2022-04-28 09:00:11,431 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 09:00:11" (3/3) ... [2022-04-28 09:00:11,432 INFO L111 eAbstractionObserver]: Analyzing ICFG eureka_05.i [2022-04-28 09:00:11,442 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 09:00:11,442 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 09:00:11,472 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 09:00:11,477 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@88eb8c, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@38887eee [2022-04-28 09:00:11,477 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 09:00:11,483 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 24 states have (on average 1.4583333333333333) internal successors, (35), 25 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 09:00:11,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 09:00:11,489 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:11,489 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:11,490 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:11,494 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:11,494 INFO L85 PathProgramCache]: Analyzing trace with hash 1995632546, now seen corresponding path program 1 times [2022-04-28 09:00:11,500 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:11,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2142592762] [2022-04-28 09:00:11,511 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 09:00:11,511 INFO L85 PathProgramCache]: Analyzing trace with hash 1995632546, now seen corresponding path program 2 times [2022-04-28 09:00:11,514 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:11,514 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [39855518] [2022-04-28 09:00:11,514 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:11,515 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:11,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:11,721 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:11,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:11,739 INFO L290 TraceCheckUtils]: 0: Hoare triple {46#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {37#true} is VALID [2022-04-28 09:00:11,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 09:00:11,740 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #95#return; {37#true} is VALID [2022-04-28 09:00:11,744 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 09:00:11,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:11,757 INFO L290 TraceCheckUtils]: 0: Hoare triple {47#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {37#true} is VALID [2022-04-28 09:00:11,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume !(~lh~0 < ~n~0); {37#true} is VALID [2022-04-28 09:00:11,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 09:00:11,757 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {38#false} #91#return; {38#false} is VALID [2022-04-28 09:00:11,760 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {46#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:11,760 INFO L290 TraceCheckUtils]: 1: Hoare triple {46#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {37#true} is VALID [2022-04-28 09:00:11,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 09:00:11,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #95#return; {37#true} is VALID [2022-04-28 09:00:11,761 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret10 := main(); {37#true} is VALID [2022-04-28 09:00:11,761 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {37#true} is VALID [2022-04-28 09:00:11,762 INFO L290 TraceCheckUtils]: 6: Hoare triple {37#true} assume !true; {38#false} is VALID [2022-04-28 09:00:11,762 INFO L272 TraceCheckUtils]: 7: Hoare triple {38#false} call SelectionSort(); {47#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:11,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {47#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {37#true} is VALID [2022-04-28 09:00:11,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {37#true} assume !(~lh~0 < ~n~0); {37#true} is VALID [2022-04-28 09:00:11,762 INFO L290 TraceCheckUtils]: 10: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 09:00:11,763 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {37#true} {38#false} #91#return; {38#false} is VALID [2022-04-28 09:00:11,763 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#false} ~i~1 := 0; {38#false} is VALID [2022-04-28 09:00:11,763 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {38#false} is VALID [2022-04-28 09:00:11,763 INFO L272 TraceCheckUtils]: 14: Hoare triple {38#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {38#false} is VALID [2022-04-28 09:00:11,763 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-28 09:00:11,764 INFO L290 TraceCheckUtils]: 16: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-28 09:00:11,764 INFO L290 TraceCheckUtils]: 17: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-28 09:00:11,764 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 09:00:11,765 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:11,765 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [39855518] [2022-04-28 09:00:11,765 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [39855518] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:11,765 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:11,765 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 09:00:11,767 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:11,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2142592762] [2022-04-28 09:00:11,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2142592762] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:11,768 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:11,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 09:00:11,768 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1516347169] [2022-04-28 09:00:11,768 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:11,772 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-28 09:00:11,773 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:11,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:11,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:11,805 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 09:00:11,805 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:11,822 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 09:00:11,823 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 09:00:11,826 INFO L87 Difference]: Start difference. First operand has 34 states, 24 states have (on average 1.4583333333333333) internal successors, (35), 25 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:12,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:12,169 INFO L93 Difference]: Finished difference Result 77 states and 109 transitions. [2022-04-28 09:00:12,169 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 09:00:12,169 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-28 09:00:12,169 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:12,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:12,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2022-04-28 09:00:12,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:12,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2022-04-28 09:00:12,201 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 109 transitions. [2022-04-28 09:00:12,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:12,330 INFO L225 Difference]: With dead ends: 77 [2022-04-28 09:00:12,331 INFO L226 Difference]: Without dead ends: 43 [2022-04-28 09:00:12,333 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-28 09:00:12,335 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 67 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 30 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:12,336 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [70 Valid, 30 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 09:00:12,348 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-28 09:00:12,371 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 29. [2022-04-28 09:00:12,371 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:12,372 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:12,373 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:12,373 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:12,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:12,382 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-28 09:00:12,382 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-28 09:00:12,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:12,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:12,383 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 43 states. [2022-04-28 09:00:12,385 INFO L87 Difference]: Start difference. First operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 43 states. [2022-04-28 09:00:12,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:12,393 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-28 09:00:12,395 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-28 09:00:12,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:12,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:12,397 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:12,398 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:12,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:12,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2022-04-28 09:00:12,404 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 18 [2022-04-28 09:00:12,404 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:12,404 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2022-04-28 09:00:12,405 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:12,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 33 transitions. [2022-04-28 09:00:12,439 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:12,440 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-28 09:00:12,440 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 09:00:12,440 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:12,441 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:12,441 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 09:00:12,441 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:12,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:12,445 INFO L85 PathProgramCache]: Analyzing trace with hash 1221136232, now seen corresponding path program 1 times [2022-04-28 09:00:12,445 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:12,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1232286519] [2022-04-28 09:00:12,447 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 09:00:12,447 INFO L85 PathProgramCache]: Analyzing trace with hash 1221136232, now seen corresponding path program 2 times [2022-04-28 09:00:12,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:12,450 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [862745179] [2022-04-28 09:00:12,450 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:12,450 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:12,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:12,520 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:12,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:12,530 INFO L290 TraceCheckUtils]: 0: Hoare triple {361#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {351#true} is VALID [2022-04-28 09:00:12,531 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-28 09:00:12,531 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {351#true} {351#true} #95#return; {351#true} is VALID [2022-04-28 09:00:12,534 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-28 09:00:12,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:12,539 INFO L290 TraceCheckUtils]: 0: Hoare triple {362#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {351#true} is VALID [2022-04-28 09:00:12,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#true} assume !(~lh~0 < ~n~0); {351#true} is VALID [2022-04-28 09:00:12,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-28 09:00:12,540 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {351#true} {352#false} #91#return; {352#false} is VALID [2022-04-28 09:00:12,541 INFO L272 TraceCheckUtils]: 0: Hoare triple {351#true} call ULTIMATE.init(); {361#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:12,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {351#true} is VALID [2022-04-28 09:00:12,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-28 09:00:12,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {351#true} {351#true} #95#return; {351#true} is VALID [2022-04-28 09:00:12,542 INFO L272 TraceCheckUtils]: 4: Hoare triple {351#true} call #t~ret10 := main(); {351#true} is VALID [2022-04-28 09:00:12,542 INFO L290 TraceCheckUtils]: 5: Hoare triple {351#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {356#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:12,543 INFO L290 TraceCheckUtils]: 6: Hoare triple {356#(<= 4 main_~i~1)} assume !(~i~1 >= 0); {352#false} is VALID [2022-04-28 09:00:12,543 INFO L272 TraceCheckUtils]: 7: Hoare triple {352#false} call SelectionSort(); {362#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:12,543 INFO L290 TraceCheckUtils]: 8: Hoare triple {362#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {351#true} is VALID [2022-04-28 09:00:12,543 INFO L290 TraceCheckUtils]: 9: Hoare triple {351#true} assume !(~lh~0 < ~n~0); {351#true} is VALID [2022-04-28 09:00:12,543 INFO L290 TraceCheckUtils]: 10: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-28 09:00:12,544 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {351#true} {352#false} #91#return; {352#false} is VALID [2022-04-28 09:00:12,544 INFO L290 TraceCheckUtils]: 12: Hoare triple {352#false} ~i~1 := 0; {352#false} is VALID [2022-04-28 09:00:12,544 INFO L290 TraceCheckUtils]: 13: Hoare triple {352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {352#false} is VALID [2022-04-28 09:00:12,544 INFO L272 TraceCheckUtils]: 14: Hoare triple {352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {352#false} is VALID [2022-04-28 09:00:12,544 INFO L290 TraceCheckUtils]: 15: Hoare triple {352#false} ~cond := #in~cond; {352#false} is VALID [2022-04-28 09:00:12,544 INFO L290 TraceCheckUtils]: 16: Hoare triple {352#false} assume 0 == ~cond; {352#false} is VALID [2022-04-28 09:00:12,545 INFO L290 TraceCheckUtils]: 17: Hoare triple {352#false} assume !false; {352#false} is VALID [2022-04-28 09:00:12,545 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 09:00:12,545 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:12,545 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [862745179] [2022-04-28 09:00:12,545 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [862745179] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:12,545 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:12,545 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 09:00:12,546 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:12,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1232286519] [2022-04-28 09:00:12,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1232286519] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:12,546 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:12,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 09:00:12,546 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1706527014] [2022-04-28 09:00:12,546 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:12,547 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-28 09:00:12,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:12,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:12,560 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:12,560 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 09:00:12,561 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:12,561 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 09:00:12,561 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 09:00:12,561 INFO L87 Difference]: Start difference. First operand 29 states and 33 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:12,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:12,772 INFO L93 Difference]: Finished difference Result 59 states and 70 transitions. [2022-04-28 09:00:12,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 09:00:12,773 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-28 09:00:12,773 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:12,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:12,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-28 09:00:12,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:12,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-28 09:00:12,780 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-04-28 09:00:12,842 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:12,844 INFO L225 Difference]: With dead ends: 59 [2022-04-28 09:00:12,844 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 09:00:12,844 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2022-04-28 09:00:12,845 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 48 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 63 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 25 SdHoareTripleChecker+Invalid, 75 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 63 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:12,845 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 25 Invalid, 75 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 63 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 09:00:12,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 09:00:12,852 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 30. [2022-04-28 09:00:12,852 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:12,853 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:12,853 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:12,853 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:12,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:12,855 INFO L93 Difference]: Finished difference Result 38 states and 45 transitions. [2022-04-28 09:00:12,855 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2022-04-28 09:00:12,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:12,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:12,855 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 38 states. [2022-04-28 09:00:12,856 INFO L87 Difference]: Start difference. First operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 38 states. [2022-04-28 09:00:12,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:12,857 INFO L93 Difference]: Finished difference Result 38 states and 45 transitions. [2022-04-28 09:00:12,857 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2022-04-28 09:00:12,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:12,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:12,858 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:12,858 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:12,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:12,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 34 transitions. [2022-04-28 09:00:12,859 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 34 transitions. Word has length 18 [2022-04-28 09:00:12,859 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:12,859 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 34 transitions. [2022-04-28 09:00:12,860 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 3 states have internal predecessors, (12), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:12,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 34 transitions. [2022-04-28 09:00:12,896 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:12,896 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2022-04-28 09:00:12,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-28 09:00:12,900 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:12,900 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:12,900 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 09:00:12,903 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:12,904 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:12,904 INFO L85 PathProgramCache]: Analyzing trace with hash -957735862, now seen corresponding path program 1 times [2022-04-28 09:00:12,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:12,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1969904731] [2022-04-28 09:00:12,913 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:12,913 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:12,914 INFO L85 PathProgramCache]: Analyzing trace with hash -957735862, now seen corresponding path program 2 times [2022-04-28 09:00:12,914 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:12,914 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1044805135] [2022-04-28 09:00:12,914 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:12,914 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:12,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:12,961 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:12,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:12,971 INFO L290 TraceCheckUtils]: 0: Hoare triple {637#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {626#true} is VALID [2022-04-28 09:00:12,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-28 09:00:12,972 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {626#true} {626#true} #95#return; {626#true} is VALID [2022-04-28 09:00:12,975 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 09:00:12,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:12,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {638#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {626#true} is VALID [2022-04-28 09:00:12,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} assume !(~lh~0 < ~n~0); {626#true} is VALID [2022-04-28 09:00:12,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-28 09:00:12,984 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {626#true} {627#false} #91#return; {627#false} is VALID [2022-04-28 09:00:12,986 INFO L272 TraceCheckUtils]: 0: Hoare triple {626#true} call ULTIMATE.init(); {637#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:12,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {637#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {626#true} is VALID [2022-04-28 09:00:12,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-28 09:00:12,987 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {626#true} {626#true} #95#return; {626#true} is VALID [2022-04-28 09:00:12,987 INFO L272 TraceCheckUtils]: 4: Hoare triple {626#true} call #t~ret10 := main(); {626#true} is VALID [2022-04-28 09:00:12,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {626#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {631#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:12,988 INFO L290 TraceCheckUtils]: 6: Hoare triple {631#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {631#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:12,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {631#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {632#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:12,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {632#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {627#false} is VALID [2022-04-28 09:00:12,989 INFO L272 TraceCheckUtils]: 9: Hoare triple {627#false} call SelectionSort(); {638#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:12,989 INFO L290 TraceCheckUtils]: 10: Hoare triple {638#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {626#true} is VALID [2022-04-28 09:00:12,990 INFO L290 TraceCheckUtils]: 11: Hoare triple {626#true} assume !(~lh~0 < ~n~0); {626#true} is VALID [2022-04-28 09:00:12,990 INFO L290 TraceCheckUtils]: 12: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-28 09:00:12,990 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {626#true} {627#false} #91#return; {627#false} is VALID [2022-04-28 09:00:12,990 INFO L290 TraceCheckUtils]: 14: Hoare triple {627#false} ~i~1 := 0; {627#false} is VALID [2022-04-28 09:00:12,990 INFO L290 TraceCheckUtils]: 15: Hoare triple {627#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {627#false} is VALID [2022-04-28 09:00:12,990 INFO L272 TraceCheckUtils]: 16: Hoare triple {627#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {627#false} is VALID [2022-04-28 09:00:12,990 INFO L290 TraceCheckUtils]: 17: Hoare triple {627#false} ~cond := #in~cond; {627#false} is VALID [2022-04-28 09:00:12,991 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#false} assume 0 == ~cond; {627#false} is VALID [2022-04-28 09:00:12,991 INFO L290 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2022-04-28 09:00:12,991 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 09:00:12,991 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:12,991 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1044805135] [2022-04-28 09:00:12,991 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1044805135] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:12,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [399055522] [2022-04-28 09:00:12,992 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:00:12,992 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:12,992 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:12,993 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:12,994 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 09:00:13,044 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 09:00:13,045 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:13,050 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-28 09:00:13,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:13,063 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:13,215 INFO L272 TraceCheckUtils]: 0: Hoare triple {626#true} call ULTIMATE.init(); {626#true} is VALID [2022-04-28 09:00:13,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {645#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:13,217 INFO L290 TraceCheckUtils]: 2: Hoare triple {645#(<= 5 ~n~0)} assume true; {645#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:13,218 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {645#(<= 5 ~n~0)} {626#true} #95#return; {645#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:13,218 INFO L272 TraceCheckUtils]: 4: Hoare triple {645#(<= 5 ~n~0)} call #t~ret10 := main(); {645#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:13,218 INFO L290 TraceCheckUtils]: 5: Hoare triple {645#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {645#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:13,219 INFO L290 TraceCheckUtils]: 6: Hoare triple {645#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {645#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:13,219 INFO L290 TraceCheckUtils]: 7: Hoare triple {645#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {645#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:13,219 INFO L290 TraceCheckUtils]: 8: Hoare triple {645#(<= 5 ~n~0)} assume !(~i~1 >= 0); {645#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:13,220 INFO L272 TraceCheckUtils]: 9: Hoare triple {645#(<= 5 ~n~0)} call SelectionSort(); {645#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:13,220 INFO L290 TraceCheckUtils]: 10: Hoare triple {645#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {673#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:13,221 INFO L290 TraceCheckUtils]: 11: Hoare triple {673#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~lh~0 < ~n~0); {627#false} is VALID [2022-04-28 09:00:13,221 INFO L290 TraceCheckUtils]: 12: Hoare triple {627#false} assume true; {627#false} is VALID [2022-04-28 09:00:13,221 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {627#false} {645#(<= 5 ~n~0)} #91#return; {627#false} is VALID [2022-04-28 09:00:13,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {627#false} ~i~1 := 0; {627#false} is VALID [2022-04-28 09:00:13,221 INFO L290 TraceCheckUtils]: 15: Hoare triple {627#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {627#false} is VALID [2022-04-28 09:00:13,221 INFO L272 TraceCheckUtils]: 16: Hoare triple {627#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {627#false} is VALID [2022-04-28 09:00:13,222 INFO L290 TraceCheckUtils]: 17: Hoare triple {627#false} ~cond := #in~cond; {627#false} is VALID [2022-04-28 09:00:13,222 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#false} assume 0 == ~cond; {627#false} is VALID [2022-04-28 09:00:13,222 INFO L290 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2022-04-28 09:00:13,222 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 09:00:13,222 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 09:00:13,222 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [399055522] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:13,222 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 09:00:13,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 8 [2022-04-28 09:00:13,223 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:13,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1969904731] [2022-04-28 09:00:13,223 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1969904731] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:13,223 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:13,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 09:00:13,223 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1900823004] [2022-04-28 09:00:13,224 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:13,226 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-28 09:00:13,226 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:13,226 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:13,240 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:13,240 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 09:00:13,240 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:13,241 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 09:00:13,241 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-04-28 09:00:13,241 INFO L87 Difference]: Start difference. First operand 30 states and 34 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:13,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:13,340 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-28 09:00:13,340 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 09:00:13,340 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-28 09:00:13,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:13,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:13,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-04-28 09:00:13,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:13,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-04-28 09:00:13,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 55 transitions. [2022-04-28 09:00:13,379 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:13,380 INFO L225 Difference]: With dead ends: 49 [2022-04-28 09:00:13,380 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 09:00:13,380 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-04-28 09:00:13,381 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 30 mSDsluCounter, 20 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 47 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:13,381 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 47 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 09:00:13,382 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 09:00:13,403 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 31. [2022-04-28 09:00:13,403 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:13,404 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:13,404 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:13,404 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:13,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:13,405 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-28 09:00:13,405 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-28 09:00:13,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:13,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:13,406 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 36 states. [2022-04-28 09:00:13,406 INFO L87 Difference]: Start difference. First operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 36 states. [2022-04-28 09:00:13,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:13,407 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-28 09:00:13,407 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-28 09:00:13,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:13,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:13,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:13,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:13,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 23 states have internal predecessors, (28), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:13,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 35 transitions. [2022-04-28 09:00:13,409 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 35 transitions. Word has length 20 [2022-04-28 09:00:13,409 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:13,409 INFO L495 AbstractCegarLoop]: Abstraction has 31 states and 35 transitions. [2022-04-28 09:00:13,409 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:13,409 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 35 transitions. [2022-04-28 09:00:13,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:13,444 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2022-04-28 09:00:13,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-28 09:00:13,445 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:13,445 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:13,468 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:13,659 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:13,660 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:13,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:13,660 INFO L85 PathProgramCache]: Analyzing trace with hash -1438458526, now seen corresponding path program 1 times [2022-04-28 09:00:13,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:13,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1542305970] [2022-04-28 09:00:13,663 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:13,663 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:13,663 INFO L85 PathProgramCache]: Analyzing trace with hash -1438458526, now seen corresponding path program 2 times [2022-04-28 09:00:13,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:13,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [450676742] [2022-04-28 09:00:13,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:13,664 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:13,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:13,716 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:13,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:13,739 INFO L290 TraceCheckUtils]: 0: Hoare triple {947#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {932#true} is VALID [2022-04-28 09:00:13,740 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-28 09:00:13,740 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-28 09:00:13,744 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-28 09:00:13,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:13,756 INFO L290 TraceCheckUtils]: 0: Hoare triple {948#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {932#true} is VALID [2022-04-28 09:00:13,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {932#true} is VALID [2022-04-28 09:00:13,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-28 09:00:13,757 INFO L290 TraceCheckUtils]: 3: Hoare triple {932#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {932#true} is VALID [2022-04-28 09:00:13,757 INFO L290 TraceCheckUtils]: 4: Hoare triple {932#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {932#true} is VALID [2022-04-28 09:00:13,757 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-28 09:00:13,757 INFO L290 TraceCheckUtils]: 6: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-28 09:00:13,757 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-28 09:00:13,760 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {947#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:13,760 INFO L290 TraceCheckUtils]: 1: Hoare triple {947#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {932#true} is VALID [2022-04-28 09:00:13,760 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-28 09:00:13,760 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-28 09:00:13,760 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-28 09:00:13,761 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {937#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:13,762 INFO L290 TraceCheckUtils]: 6: Hoare triple {937#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {937#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:13,763 INFO L290 TraceCheckUtils]: 7: Hoare triple {937#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {938#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:13,763 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-28 09:00:13,764 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {948#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:13,764 INFO L290 TraceCheckUtils]: 10: Hoare triple {948#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {932#true} is VALID [2022-04-28 09:00:13,764 INFO L290 TraceCheckUtils]: 11: Hoare triple {932#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {932#true} is VALID [2022-04-28 09:00:13,764 INFO L290 TraceCheckUtils]: 12: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-28 09:00:13,765 INFO L290 TraceCheckUtils]: 13: Hoare triple {932#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {932#true} is VALID [2022-04-28 09:00:13,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {932#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {932#true} is VALID [2022-04-28 09:00:13,765 INFO L290 TraceCheckUtils]: 15: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-28 09:00:13,765 INFO L290 TraceCheckUtils]: 16: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-28 09:00:13,765 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-28 09:00:13,765 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-28 09:00:13,765 INFO L290 TraceCheckUtils]: 19: Hoare triple {933#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {933#false} is VALID [2022-04-28 09:00:13,765 INFO L272 TraceCheckUtils]: 20: Hoare triple {933#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {933#false} is VALID [2022-04-28 09:00:13,775 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-28 09:00:13,775 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-28 09:00:13,776 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-28 09:00:13,776 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 09:00:13,776 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:13,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [450676742] [2022-04-28 09:00:13,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [450676742] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:13,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1664346833] [2022-04-28 09:00:13,776 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:00:13,776 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:13,777 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:13,778 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:13,780 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 09:00:13,824 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:00:13,824 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:13,825 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-28 09:00:13,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:13,845 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:13,924 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {932#true} is VALID [2022-04-28 09:00:13,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {932#true} is VALID [2022-04-28 09:00:13,924 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-28 09:00:13,924 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-28 09:00:13,925 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-28 09:00:13,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {937#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:13,926 INFO L290 TraceCheckUtils]: 6: Hoare triple {937#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {937#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:13,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {937#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {938#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:13,927 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-28 09:00:13,927 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {933#false} is VALID [2022-04-28 09:00:13,927 INFO L290 TraceCheckUtils]: 10: Hoare triple {933#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {933#false} is VALID [2022-04-28 09:00:13,927 INFO L290 TraceCheckUtils]: 11: Hoare triple {933#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {933#false} is VALID [2022-04-28 09:00:13,927 INFO L290 TraceCheckUtils]: 12: Hoare triple {933#false} assume !(~i~0 < ~n~0); {933#false} is VALID [2022-04-28 09:00:13,927 INFO L290 TraceCheckUtils]: 13: Hoare triple {933#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {933#false} is VALID [2022-04-28 09:00:13,927 INFO L290 TraceCheckUtils]: 14: Hoare triple {933#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {933#false} is VALID [2022-04-28 09:00:13,927 INFO L290 TraceCheckUtils]: 15: Hoare triple {933#false} assume !(~lh~0 < ~n~0); {933#false} is VALID [2022-04-28 09:00:13,928 INFO L290 TraceCheckUtils]: 16: Hoare triple {933#false} assume true; {933#false} is VALID [2022-04-28 09:00:13,928 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {933#false} {933#false} #91#return; {933#false} is VALID [2022-04-28 09:00:13,928 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-28 09:00:13,928 INFO L290 TraceCheckUtils]: 19: Hoare triple {933#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {933#false} is VALID [2022-04-28 09:00:13,928 INFO L272 TraceCheckUtils]: 20: Hoare triple {933#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {933#false} is VALID [2022-04-28 09:00:13,928 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-28 09:00:13,928 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-28 09:00:13,928 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-28 09:00:13,929 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 09:00:13,929 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:14,015 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-28 09:00:14,015 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-28 09:00:14,015 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-28 09:00:14,015 INFO L272 TraceCheckUtils]: 20: Hoare triple {933#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {933#false} is VALID [2022-04-28 09:00:14,015 INFO L290 TraceCheckUtils]: 19: Hoare triple {933#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {933#false} is VALID [2022-04-28 09:00:14,015 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-28 09:00:14,016 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-28 09:00:14,016 INFO L290 TraceCheckUtils]: 16: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-28 09:00:14,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-28 09:00:14,016 INFO L290 TraceCheckUtils]: 14: Hoare triple {932#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {932#true} is VALID [2022-04-28 09:00:14,016 INFO L290 TraceCheckUtils]: 13: Hoare triple {932#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {932#true} is VALID [2022-04-28 09:00:14,016 INFO L290 TraceCheckUtils]: 12: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-28 09:00:14,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {932#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {932#true} is VALID [2022-04-28 09:00:14,016 INFO L290 TraceCheckUtils]: 10: Hoare triple {932#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {932#true} is VALID [2022-04-28 09:00:14,017 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {932#true} is VALID [2022-04-28 09:00:14,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {1066#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-28 09:00:14,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {1070#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1066#(<= 0 main_~i~1)} is VALID [2022-04-28 09:00:14,042 INFO L290 TraceCheckUtils]: 6: Hoare triple {1070#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1070#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:14,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1070#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:14,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-28 09:00:14,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-28 09:00:14,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-28 09:00:14,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {932#true} is VALID [2022-04-28 09:00:14,044 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {932#true} is VALID [2022-04-28 09:00:14,044 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 09:00:14,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1664346833] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:14,045 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:14,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4, 4] total 8 [2022-04-28 09:00:14,045 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:14,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1542305970] [2022-04-28 09:00:14,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1542305970] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:14,045 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:14,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 09:00:14,045 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1380077220] [2022-04-28 09:00:14,045 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:14,046 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 24 [2022-04-28 09:00:14,046 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:14,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:14,063 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:14,063 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 09:00:14,063 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:14,064 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 09:00:14,065 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2022-04-28 09:00:14,065 INFO L87 Difference]: Start difference. First operand 31 states and 35 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:14,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:14,296 INFO L93 Difference]: Finished difference Result 60 states and 70 transitions. [2022-04-28 09:00:14,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 09:00:14,296 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 24 [2022-04-28 09:00:14,296 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:14,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:14,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-28 09:00:14,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:14,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-28 09:00:14,303 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2022-04-28 09:00:14,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:14,358 INFO L225 Difference]: With dead ends: 60 [2022-04-28 09:00:14,358 INFO L226 Difference]: Without dead ends: 38 [2022-04-28 09:00:14,358 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 50 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=84, Unknown=0, NotChecked=0, Total=132 [2022-04-28 09:00:14,359 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 46 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 25 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:14,360 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 25 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 09:00:14,362 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-28 09:00:14,387 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 33. [2022-04-28 09:00:14,387 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:14,387 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:14,388 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:14,388 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:14,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:14,390 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-04-28 09:00:14,390 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-28 09:00:14,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:14,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:14,391 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 38 states. [2022-04-28 09:00:14,391 INFO L87 Difference]: Start difference. First operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 38 states. [2022-04-28 09:00:14,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:14,393 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-04-28 09:00:14,394 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-28 09:00:14,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:14,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:14,395 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:14,395 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:14,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 25 states have (on average 1.2) internal successors, (30), 25 states have internal predecessors, (30), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:14,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-28 09:00:14,397 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 24 [2022-04-28 09:00:14,397 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:14,397 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-28 09:00:14,397 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:14,397 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-28 09:00:14,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:14,433 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-28 09:00:14,433 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-28 09:00:14,433 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:14,434 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:14,459 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:14,661 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-28 09:00:14,661 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:14,661 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:14,661 INFO L85 PathProgramCache]: Analyzing trace with hash -911525692, now seen corresponding path program 3 times [2022-04-28 09:00:14,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:14,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2014881633] [2022-04-28 09:00:14,664 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:14,664 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:14,664 INFO L85 PathProgramCache]: Analyzing trace with hash -911525692, now seen corresponding path program 4 times [2022-04-28 09:00:14,664 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:14,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1021652000] [2022-04-28 09:00:14,665 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:14,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:14,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:14,736 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:14,739 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:14,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {1379#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {1370#(<= 5 ~n~0)} assume true; {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,748 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1370#(<= 5 ~n~0)} {1365#true} #95#return; {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,750 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:14,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:14,778 INFO L290 TraceCheckUtils]: 0: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1381#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:14,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {1381#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1382#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:14,781 INFO L290 TraceCheckUtils]: 2: Hoare triple {1382#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-28 09:00:14,781 INFO L290 TraceCheckUtils]: 3: Hoare triple {1383#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1383#(<= ~n~0 1)} is VALID [2022-04-28 09:00:14,782 INFO L290 TraceCheckUtils]: 4: Hoare triple {1383#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1383#(<= ~n~0 1)} is VALID [2022-04-28 09:00:14,782 INFO L290 TraceCheckUtils]: 5: Hoare triple {1383#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-28 09:00:14,782 INFO L290 TraceCheckUtils]: 6: Hoare triple {1383#(<= ~n~0 1)} assume true; {1383#(<= ~n~0 1)} is VALID [2022-04-28 09:00:14,783 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1383#(<= ~n~0 1)} {1370#(<= 5 ~n~0)} #91#return; {1366#false} is VALID [2022-04-28 09:00:14,784 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1379#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:14,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {1379#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {1370#(<= 5 ~n~0)} assume true; {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,785 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1370#(<= 5 ~n~0)} {1365#true} #95#return; {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,785 INFO L272 TraceCheckUtils]: 4: Hoare triple {1370#(<= 5 ~n~0)} call #t~ret10 := main(); {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {1370#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,786 INFO L290 TraceCheckUtils]: 6: Hoare triple {1370#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {1370#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,786 INFO L290 TraceCheckUtils]: 8: Hoare triple {1370#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,790 INFO L290 TraceCheckUtils]: 9: Hoare triple {1370#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,790 INFO L290 TraceCheckUtils]: 10: Hoare triple {1370#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1370#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:14,790 INFO L272 TraceCheckUtils]: 11: Hoare triple {1370#(<= 5 ~n~0)} call SelectionSort(); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:14,791 INFO L290 TraceCheckUtils]: 12: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1381#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:14,791 INFO L290 TraceCheckUtils]: 13: Hoare triple {1381#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1382#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:14,792 INFO L290 TraceCheckUtils]: 14: Hoare triple {1382#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-28 09:00:14,792 INFO L290 TraceCheckUtils]: 15: Hoare triple {1383#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1383#(<= ~n~0 1)} is VALID [2022-04-28 09:00:14,792 INFO L290 TraceCheckUtils]: 16: Hoare triple {1383#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1383#(<= ~n~0 1)} is VALID [2022-04-28 09:00:14,792 INFO L290 TraceCheckUtils]: 17: Hoare triple {1383#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-28 09:00:14,793 INFO L290 TraceCheckUtils]: 18: Hoare triple {1383#(<= ~n~0 1)} assume true; {1383#(<= ~n~0 1)} is VALID [2022-04-28 09:00:14,793 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1383#(<= ~n~0 1)} {1370#(<= 5 ~n~0)} #91#return; {1366#false} is VALID [2022-04-28 09:00:14,793 INFO L290 TraceCheckUtils]: 20: Hoare triple {1366#false} ~i~1 := 0; {1366#false} is VALID [2022-04-28 09:00:14,793 INFO L290 TraceCheckUtils]: 21: Hoare triple {1366#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1366#false} is VALID [2022-04-28 09:00:14,793 INFO L272 TraceCheckUtils]: 22: Hoare triple {1366#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1366#false} is VALID [2022-04-28 09:00:14,794 INFO L290 TraceCheckUtils]: 23: Hoare triple {1366#false} ~cond := #in~cond; {1366#false} is VALID [2022-04-28 09:00:14,794 INFO L290 TraceCheckUtils]: 24: Hoare triple {1366#false} assume 0 == ~cond; {1366#false} is VALID [2022-04-28 09:00:14,794 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-28 09:00:14,794 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 09:00:14,794 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:14,794 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1021652000] [2022-04-28 09:00:14,794 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1021652000] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:14,794 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [713812774] [2022-04-28 09:00:14,794 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:00:14,794 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:14,795 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:14,795 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:14,811 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 09:00:14,839 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:00:14,840 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:14,841 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 09:00:14,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:14,849 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:14,899 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 15 treesize of output 11 [2022-04-28 09:00:15,506 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-04-28 09:00:15,506 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 10 [2022-04-28 09:00:15,647 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1365#true} is VALID [2022-04-28 09:00:15,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {1365#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1365#true} is VALID [2022-04-28 09:00:15,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {1365#true} assume true; {1365#true} is VALID [2022-04-28 09:00:15,647 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1365#true} {1365#true} #95#return; {1365#true} is VALID [2022-04-28 09:00:15,647 INFO L272 TraceCheckUtils]: 4: Hoare triple {1365#true} call #t~ret10 := main(); {1365#true} is VALID [2022-04-28 09:00:15,647 INFO L290 TraceCheckUtils]: 5: Hoare triple {1365#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1365#true} is VALID [2022-04-28 09:00:15,647 INFO L290 TraceCheckUtils]: 6: Hoare triple {1365#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1365#true} is VALID [2022-04-28 09:00:15,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {1365#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1365#true} is VALID [2022-04-28 09:00:15,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {1365#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1411#(and (<= 0 main_~i~1) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:00:15,650 INFO L290 TraceCheckUtils]: 9: Hoare triple {1411#(and (<= 0 main_~i~1) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1415#(exists ((v_main_~i~1_24 Int)) (and (<= 0 v_main_~i~1_24) (<= v_main_~i~1_24 (+ main_~i~1 1)) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} is VALID [2022-04-28 09:00:15,651 INFO L290 TraceCheckUtils]: 10: Hoare triple {1415#(exists ((v_main_~i~1_24 Int)) (and (<= 0 v_main_~i~1_24) (<= v_main_~i~1_24 (+ main_~i~1 1)) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} assume !(~i~1 >= 0); {1419#(exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} is VALID [2022-04-28 09:00:15,652 INFO L272 TraceCheckUtils]: 11: Hoare triple {1419#(exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} call SelectionSort(); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:15,652 INFO L290 TraceCheckUtils]: 12: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1426#(and (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:00:15,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {1426#(and (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1430#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:00:15,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {1430#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} assume !(~i~0 < ~n~0); {1430#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:00:15,654 INFO L290 TraceCheckUtils]: 15: Hoare triple {1430#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:15,654 INFO L290 TraceCheckUtils]: 16: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:15,655 INFO L290 TraceCheckUtils]: 17: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} assume !(~lh~0 < ~n~0); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:15,655 INFO L290 TraceCheckUtils]: 18: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} assume true; {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:15,656 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1380#(= |#memory_int| |old(#memory_int)|)} {1419#(exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} #91#return; {1419#(exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} is VALID [2022-04-28 09:00:15,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {1419#(exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|)))))} ~i~1 := 0; {1452#(and (exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|))))) (= main_~i~1 0))} is VALID [2022-04-28 09:00:15,657 INFO L290 TraceCheckUtils]: 21: Hoare triple {1452#(and (exists ((v_main_~i~1_24 Int)) (and (< v_main_~i~1_24 1) (<= 0 v_main_~i~1_24) (= v_main_~i~1_24 (select (select |#memory_int| |main_~#array~1.base|) (+ (* v_main_~i~1_24 4) |main_~#array~1.offset|))))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1456#(and (< |main_#t~mem9| 1) (<= 0 |main_#t~mem9|) (= main_~i~1 0))} is VALID [2022-04-28 09:00:15,657 INFO L272 TraceCheckUtils]: 22: Hoare triple {1456#(and (< |main_#t~mem9| 1) (<= 0 |main_#t~mem9|) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:00:15,658 INFO L290 TraceCheckUtils]: 23: Hoare triple {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1464#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:00:15,658 INFO L290 TraceCheckUtils]: 24: Hoare triple {1464#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1366#false} is VALID [2022-04-28 09:00:15,658 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-28 09:00:15,658 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 09:00:15,659 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:15,827 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-28 09:00:16,476 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-28 09:00:16,477 INFO L290 TraceCheckUtils]: 24: Hoare triple {1464#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1366#false} is VALID [2022-04-28 09:00:16,478 INFO L290 TraceCheckUtils]: 23: Hoare triple {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1464#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:00:16,479 INFO L272 TraceCheckUtils]: 22: Hoare triple {1480#(= main_~i~1 |main_#t~mem9|)} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:00:16,480 INFO L290 TraceCheckUtils]: 21: Hoare triple {1484#(= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1480#(= main_~i~1 |main_#t~mem9|)} is VALID [2022-04-28 09:00:16,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {1488#(= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0)} ~i~1 := 0; {1484#(= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-28 09:00:16,482 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} {1488#(= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0)} #91#return; {1488#(= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0)} is VALID [2022-04-28 09:00:16,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} assume true; {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-28 09:00:16,483 INFO L290 TraceCheckUtils]: 17: Hoare triple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} assume !(~lh~0 < ~n~0); {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-28 09:00:16,483 INFO L290 TraceCheckUtils]: 16: Hoare triple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-28 09:00:18,490 WARN L290 TraceCheckUtils]: 15: Hoare triple {1508#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|~#array~0.offset| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int) (|~#array~0.base| Int)) (or (= (select (select (store |#memory_int| |~#array~0.base| (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is UNKNOWN [2022-04-28 09:00:18,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {1508#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|~#array~0.offset| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int) (|~#array~0.base| Int)) (or (= (select (select (store |#memory_int| |~#array~0.base| (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} assume !(~i~0 < ~n~0); {1508#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|~#array~0.offset| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int) (|~#array~0.base| Int)) (or (= (select (select (store |#memory_int| |~#array~0.base| (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-28 09:00:18,494 INFO L290 TraceCheckUtils]: 13: Hoare triple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1508#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|~#array~0.offset| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int) (|~#array~0.base| Int)) (or (= (select (select (store |#memory_int| |~#array~0.base| (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-28 09:00:18,494 INFO L290 TraceCheckUtils]: 12: Hoare triple {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-28 09:00:18,499 INFO L272 TraceCheckUtils]: 11: Hoare triple {1488#(= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0)} call SelectionSort(); {1495#(forall ((|v_main_~#array~1.base_BEFORE_CALL_2| Int) (|v_main_~#array~1.offset_BEFORE_CALL_2| Int)) (or (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0) (not (= (select (select |old(#memory_int)| |v_main_~#array~1.base_BEFORE_CALL_2|) |v_main_~#array~1.offset_BEFORE_CALL_2|) 0))))} is VALID [2022-04-28 09:00:18,499 INFO L290 TraceCheckUtils]: 10: Hoare triple {1521#(or (= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0) (<= 0 main_~i~1))} assume !(~i~1 >= 0); {1488#(= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0)} is VALID [2022-04-28 09:00:18,500 INFO L290 TraceCheckUtils]: 9: Hoare triple {1525#(or (= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0) (<= 1 main_~i~1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1521#(or (= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0) (<= 0 main_~i~1))} is VALID [2022-04-28 09:00:18,501 INFO L290 TraceCheckUtils]: 8: Hoare triple {1365#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1525#(or (= (select (select |#memory_int| |main_~#array~1.base|) |main_~#array~1.offset|) 0) (<= 1 main_~i~1))} is VALID [2022-04-28 09:00:18,501 INFO L290 TraceCheckUtils]: 7: Hoare triple {1365#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1365#true} is VALID [2022-04-28 09:00:18,501 INFO L290 TraceCheckUtils]: 6: Hoare triple {1365#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1365#true} is VALID [2022-04-28 09:00:18,501 INFO L290 TraceCheckUtils]: 5: Hoare triple {1365#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1365#true} is VALID [2022-04-28 09:00:18,501 INFO L272 TraceCheckUtils]: 4: Hoare triple {1365#true} call #t~ret10 := main(); {1365#true} is VALID [2022-04-28 09:00:18,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1365#true} {1365#true} #95#return; {1365#true} is VALID [2022-04-28 09:00:18,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {1365#true} assume true; {1365#true} is VALID [2022-04-28 09:00:18,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {1365#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1365#true} is VALID [2022-04-28 09:00:18,501 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1365#true} is VALID [2022-04-28 09:00:18,502 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-28 09:00:18,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [713812774] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:18,502 INFO L184 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:00:18,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [7, 12] total 24 [2022-04-28 09:00:18,502 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:18,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2014881633] [2022-04-28 09:00:18,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2014881633] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:18,502 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:18,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 09:00:18,502 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1402814160] [2022-04-28 09:00:18,503 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:18,503 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-04-28 09:00:18,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:18,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:20,544 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 25 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:20,544 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 09:00:20,544 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:20,545 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 09:00:20,545 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=476, Unknown=0, NotChecked=0, Total=552 [2022-04-28 09:00:20,545 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:20,874 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:20,874 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-28 09:00:20,874 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 09:00:20,874 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 26 [2022-04-28 09:00:20,874 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:20,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:20,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-04-28 09:00:20,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:20,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-04-28 09:00:20,877 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 63 transitions. [2022-04-28 09:00:22,937 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 62 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:22,938 INFO L225 Difference]: With dead ends: 58 [2022-04-28 09:00:22,938 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 09:00:22,938 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 33 SyntacticMatches, 4 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=106, Invalid=650, Unknown=0, NotChecked=0, Total=756 [2022-04-28 09:00:22,939 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 23 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 129 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 37 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:22,939 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 144 Invalid, 129 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 74 Invalid, 0 Unknown, 37 Unchecked, 0.1s Time] [2022-04-28 09:00:22,939 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 09:00:22,986 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 46. [2022-04-28 09:00:22,986 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:22,987 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 09:00:22,987 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 09:00:22,987 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 09:00:22,989 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:22,989 INFO L93 Difference]: Finished difference Result 56 states and 64 transitions. [2022-04-28 09:00:22,989 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-28 09:00:22,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:22,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:22,990 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 56 states. [2022-04-28 09:00:22,990 INFO L87 Difference]: Start difference. First operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 56 states. [2022-04-28 09:00:22,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:22,992 INFO L93 Difference]: Finished difference Result 56 states and 64 transitions. [2022-04-28 09:00:22,992 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-28 09:00:22,992 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:22,992 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:22,992 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:22,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:22,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 35 states have (on average 1.2) internal successors, (42), 36 states have internal predecessors, (42), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 09:00:22,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 52 transitions. [2022-04-28 09:00:22,993 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 52 transitions. Word has length 26 [2022-04-28 09:00:22,994 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:22,994 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 52 transitions. [2022-04-28 09:00:22,994 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.0) internal successors, (20), 10 states have internal predecessors, (20), 3 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:22,994 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 52 transitions. [2022-04-28 09:00:24,203 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:24,203 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-04-28 09:00:24,204 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 09:00:24,204 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:24,204 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:24,223 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:24,411 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:24,412 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:24,412 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:24,412 INFO L85 PathProgramCache]: Analyzing trace with hash -588044416, now seen corresponding path program 1 times [2022-04-28 09:00:24,412 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:24,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1017396995] [2022-04-28 09:00:24,415 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:24,415 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:24,415 INFO L85 PathProgramCache]: Analyzing trace with hash -588044416, now seen corresponding path program 2 times [2022-04-28 09:00:24,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:24,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2032103777] [2022-04-28 09:00:24,415 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:24,415 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:24,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:24,461 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:24,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:24,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {1900#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,492 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,495 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:24,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:24,553 INFO L290 TraceCheckUtils]: 0: Hoare triple {1901#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,554 INFO L290 TraceCheckUtils]: 3: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,554 INFO L290 TraceCheckUtils]: 4: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,554 INFO L290 TraceCheckUtils]: 5: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,554 INFO L290 TraceCheckUtils]: 6: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,555 INFO L290 TraceCheckUtils]: 7: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1903#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:24,555 INFO L290 TraceCheckUtils]: 8: Hoare triple {1903#(<= SelectionSort_~lh~0 1)} assume !(~lh~0 < ~n~0); {1904#(<= ~n~0 1)} is VALID [2022-04-28 09:00:24,556 INFO L290 TraceCheckUtils]: 9: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-28 09:00:24,556 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1904#(<= ~n~0 1)} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-28 09:00:24,558 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1900#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:24,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {1900#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,560 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,560 INFO L272 TraceCheckUtils]: 4: Hoare triple {1888#(<= 5 ~n~0)} call #t~ret10 := main(); {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,560 INFO L290 TraceCheckUtils]: 5: Hoare triple {1888#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,561 INFO L290 TraceCheckUtils]: 6: Hoare triple {1888#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,561 INFO L290 TraceCheckUtils]: 7: Hoare triple {1888#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,561 INFO L290 TraceCheckUtils]: 8: Hoare triple {1888#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,562 INFO L290 TraceCheckUtils]: 9: Hoare triple {1888#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,562 INFO L290 TraceCheckUtils]: 10: Hoare triple {1888#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,562 INFO L272 TraceCheckUtils]: 11: Hoare triple {1888#(<= 5 ~n~0)} call SelectionSort(); {1901#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:24,563 INFO L290 TraceCheckUtils]: 12: Hoare triple {1901#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,563 INFO L290 TraceCheckUtils]: 13: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,563 INFO L290 TraceCheckUtils]: 14: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,564 INFO L290 TraceCheckUtils]: 16: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,564 INFO L290 TraceCheckUtils]: 17: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,565 INFO L290 TraceCheckUtils]: 18: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1902#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:24,565 INFO L290 TraceCheckUtils]: 19: Hoare triple {1902#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1903#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:24,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {1903#(<= SelectionSort_~lh~0 1)} assume !(~lh~0 < ~n~0); {1904#(<= ~n~0 1)} is VALID [2022-04-28 09:00:24,566 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-28 09:00:24,566 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1904#(<= ~n~0 1)} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-28 09:00:24,566 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-28 09:00:24,566 INFO L290 TraceCheckUtils]: 24: Hoare triple {1884#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1884#false} is VALID [2022-04-28 09:00:24,567 INFO L272 TraceCheckUtils]: 25: Hoare triple {1884#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1884#false} is VALID [2022-04-28 09:00:24,567 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-28 09:00:24,567 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-28 09:00:24,567 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-28 09:00:24,567 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 09:00:24,567 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:24,567 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2032103777] [2022-04-28 09:00:24,567 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2032103777] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:24,567 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [734781735] [2022-04-28 09:00:24,567 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:00:24,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:24,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:24,569 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:24,570 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 09:00:24,615 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:00:24,616 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:24,616 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 09:00:24,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:24,634 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:24,786 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1883#true} is VALID [2022-04-28 09:00:24,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {1883#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,788 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,788 INFO L272 TraceCheckUtils]: 4: Hoare triple {1888#(<= 5 ~n~0)} call #t~ret10 := main(); {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,788 INFO L290 TraceCheckUtils]: 5: Hoare triple {1888#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,789 INFO L290 TraceCheckUtils]: 6: Hoare triple {1888#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,789 INFO L290 TraceCheckUtils]: 7: Hoare triple {1888#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,789 INFO L290 TraceCheckUtils]: 8: Hoare triple {1888#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {1888#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,790 INFO L290 TraceCheckUtils]: 10: Hoare triple {1888#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,790 INFO L272 TraceCheckUtils]: 11: Hoare triple {1888#(<= 5 ~n~0)} call SelectionSort(); {1888#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:24,791 INFO L290 TraceCheckUtils]: 12: Hoare triple {1888#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:24,791 INFO L290 TraceCheckUtils]: 13: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:24,791 INFO L290 TraceCheckUtils]: 14: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:24,792 INFO L290 TraceCheckUtils]: 15: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:24,792 INFO L290 TraceCheckUtils]: 16: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:24,793 INFO L290 TraceCheckUtils]: 17: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:24,793 INFO L290 TraceCheckUtils]: 18: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:24,797 INFO L290 TraceCheckUtils]: 19: Hoare triple {1944#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {1966#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:24,798 INFO L290 TraceCheckUtils]: 20: Hoare triple {1966#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !(~lh~0 < ~n~0); {1884#false} is VALID [2022-04-28 09:00:24,798 INFO L290 TraceCheckUtils]: 21: Hoare triple {1884#false} assume true; {1884#false} is VALID [2022-04-28 09:00:24,798 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1884#false} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-28 09:00:24,798 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-28 09:00:24,798 INFO L290 TraceCheckUtils]: 24: Hoare triple {1884#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1884#false} is VALID [2022-04-28 09:00:24,798 INFO L272 TraceCheckUtils]: 25: Hoare triple {1884#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1884#false} is VALID [2022-04-28 09:00:24,799 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-28 09:00:24,799 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-28 09:00:24,799 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-28 09:00:24,799 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 09:00:24,799 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:25,076 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-28 09:00:25,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-28 09:00:25,077 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-28 09:00:25,077 INFO L272 TraceCheckUtils]: 25: Hoare triple {1884#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {1884#false} is VALID [2022-04-28 09:00:25,077 INFO L290 TraceCheckUtils]: 24: Hoare triple {1884#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {1884#false} is VALID [2022-04-28 09:00:25,077 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-28 09:00:25,077 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1904#(<= ~n~0 1)} {2012#(< 1 ~n~0)} #91#return; {1884#false} is VALID [2022-04-28 09:00:25,078 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-28 09:00:25,078 INFO L290 TraceCheckUtils]: 20: Hoare triple {2022#(or (< SelectionSort_~lh~0 ~n~0) (<= ~n~0 1))} assume !(~lh~0 < ~n~0); {1904#(<= ~n~0 1)} is VALID [2022-04-28 09:00:25,079 INFO L290 TraceCheckUtils]: 19: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2022#(or (< SelectionSort_~lh~0 ~n~0) (<= ~n~0 1))} is VALID [2022-04-28 09:00:25,079 INFO L290 TraceCheckUtils]: 18: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-28 09:00:25,079 INFO L290 TraceCheckUtils]: 17: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} assume !(~i~0 < ~n~0); {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-28 09:00:25,079 INFO L290 TraceCheckUtils]: 16: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-28 09:00:25,080 INFO L290 TraceCheckUtils]: 15: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-28 09:00:25,080 INFO L290 TraceCheckUtils]: 14: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-28 09:00:25,080 INFO L290 TraceCheckUtils]: 13: Hoare triple {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-28 09:00:25,081 INFO L290 TraceCheckUtils]: 12: Hoare triple {1883#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2026#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 1))} is VALID [2022-04-28 09:00:25,081 INFO L272 TraceCheckUtils]: 11: Hoare triple {2012#(< 1 ~n~0)} call SelectionSort(); {1883#true} is VALID [2022-04-28 09:00:25,081 INFO L290 TraceCheckUtils]: 10: Hoare triple {2012#(< 1 ~n~0)} assume !(~i~1 >= 0); {2012#(< 1 ~n~0)} is VALID [2022-04-28 09:00:25,081 INFO L290 TraceCheckUtils]: 9: Hoare triple {2012#(< 1 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2012#(< 1 ~n~0)} is VALID [2022-04-28 09:00:25,082 INFO L290 TraceCheckUtils]: 8: Hoare triple {2012#(< 1 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2012#(< 1 ~n~0)} is VALID [2022-04-28 09:00:25,083 INFO L290 TraceCheckUtils]: 7: Hoare triple {2012#(< 1 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2012#(< 1 ~n~0)} is VALID [2022-04-28 09:00:25,083 INFO L290 TraceCheckUtils]: 6: Hoare triple {2012#(< 1 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2012#(< 1 ~n~0)} is VALID [2022-04-28 09:00:25,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {2012#(< 1 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {2012#(< 1 ~n~0)} is VALID [2022-04-28 09:00:25,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {2012#(< 1 ~n~0)} call #t~ret10 := main(); {2012#(< 1 ~n~0)} is VALID [2022-04-28 09:00:25,084 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2012#(< 1 ~n~0)} {1883#true} #95#return; {2012#(< 1 ~n~0)} is VALID [2022-04-28 09:00:25,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {2012#(< 1 ~n~0)} assume true; {2012#(< 1 ~n~0)} is VALID [2022-04-28 09:00:25,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {1883#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {2012#(< 1 ~n~0)} is VALID [2022-04-28 09:00:25,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1883#true} is VALID [2022-04-28 09:00:25,085 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 09:00:25,085 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [734781735] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:25,085 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:25,085 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 6] total 13 [2022-04-28 09:00:25,085 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:25,085 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1017396995] [2022-04-28 09:00:25,086 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1017396995] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:25,086 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:25,086 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 09:00:25,086 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1918455072] [2022-04-28 09:00:25,087 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:25,087 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 29 [2022-04-28 09:00:25,087 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:25,088 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:25,109 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:25,109 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 09:00:25,109 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:25,109 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 09:00:25,109 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2022-04-28 09:00:25,110 INFO L87 Difference]: Start difference. First operand 46 states and 52 transitions. Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:25,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:25,499 INFO L93 Difference]: Finished difference Result 86 states and 100 transitions. [2022-04-28 09:00:25,499 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 09:00:25,499 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 29 [2022-04-28 09:00:25,499 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:25,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:25,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2022-04-28 09:00:25,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:25,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2022-04-28 09:00:25,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 64 transitions. [2022-04-28 09:00:25,561 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:25,562 INFO L225 Difference]: With dead ends: 86 [2022-04-28 09:00:25,562 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 09:00:25,562 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 53 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=107, Invalid=273, Unknown=0, NotChecked=0, Total=380 [2022-04-28 09:00:25,563 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 98 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 103 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 103 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:25,563 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [98 Valid, 27 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 103 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 09:00:25,564 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 09:00:25,620 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 56. [2022-04-28 09:00:25,620 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:25,621 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 09:00:25,621 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 09:00:25,621 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 09:00:25,623 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:25,623 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-28 09:00:25,623 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-28 09:00:25,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:25,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:25,623 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 64 states. [2022-04-28 09:00:25,623 INFO L87 Difference]: Start difference. First operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Second operand 64 states. [2022-04-28 09:00:25,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:25,625 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-28 09:00:25,625 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-28 09:00:25,625 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:25,625 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:25,625 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:25,625 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:25,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 45 states have (on average 1.2222222222222223) internal successors, (55), 46 states have internal predecessors, (55), 5 states have call successors, (5), 5 states have call predecessors, (5), 5 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 09:00:25,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 65 transitions. [2022-04-28 09:00:25,627 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 65 transitions. Word has length 29 [2022-04-28 09:00:25,627 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:25,627 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 65 transitions. [2022-04-28 09:00:25,627 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 5 states have internal predecessors, (21), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:25,627 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 65 transitions. [2022-04-28 09:00:27,722 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:27,723 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 65 transitions. [2022-04-28 09:00:27,723 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 09:00:27,723 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:27,723 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:27,739 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:27,924 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:27,924 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:27,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:27,924 INFO L85 PathProgramCache]: Analyzing trace with hash -1608016792, now seen corresponding path program 3 times [2022-04-28 09:00:27,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:27,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1503597563] [2022-04-28 09:00:27,926 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:27,926 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:27,926 INFO L85 PathProgramCache]: Analyzing trace with hash -1608016792, now seen corresponding path program 4 times [2022-04-28 09:00:27,927 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:27,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2068730607] [2022-04-28 09:00:27,927 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:27,927 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:27,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:27,979 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:27,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:27,993 INFO L290 TraceCheckUtils]: 0: Hoare triple {2530#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {2514#(<= 5 ~n~0)} assume true; {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,016 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2514#(<= 5 ~n~0)} {2509#true} #95#return; {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:28,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:28,055 INFO L290 TraceCheckUtils]: 0: Hoare triple {2531#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2532#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,057 INFO L290 TraceCheckUtils]: 1: Hoare triple {2532#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2533#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:28,058 INFO L290 TraceCheckUtils]: 2: Hoare triple {2533#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,058 INFO L290 TraceCheckUtils]: 3: Hoare triple {2534#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,058 INFO L290 TraceCheckUtils]: 4: Hoare triple {2534#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,059 INFO L290 TraceCheckUtils]: 5: Hoare triple {2534#(<= ~n~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,059 INFO L290 TraceCheckUtils]: 6: Hoare triple {2534#(<= ~n~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,059 INFO L290 TraceCheckUtils]: 7: Hoare triple {2534#(<= ~n~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {2534#(<= ~n~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {2534#(<= ~n~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,060 INFO L290 TraceCheckUtils]: 10: Hoare triple {2534#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,061 INFO L290 TraceCheckUtils]: 11: Hoare triple {2534#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,061 INFO L290 TraceCheckUtils]: 12: Hoare triple {2534#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,061 INFO L290 TraceCheckUtils]: 13: Hoare triple {2534#(<= ~n~0 1)} assume true; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,062 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2534#(<= ~n~0 1)} {2514#(<= 5 ~n~0)} #91#return; {2510#false} is VALID [2022-04-28 09:00:28,062 INFO L272 TraceCheckUtils]: 0: Hoare triple {2509#true} call ULTIMATE.init(); {2530#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:28,063 INFO L290 TraceCheckUtils]: 1: Hoare triple {2530#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,063 INFO L290 TraceCheckUtils]: 2: Hoare triple {2514#(<= 5 ~n~0)} assume true; {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2514#(<= 5 ~n~0)} {2509#true} #95#return; {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {2514#(<= 5 ~n~0)} call #t~ret10 := main(); {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {2514#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,064 INFO L290 TraceCheckUtils]: 6: Hoare triple {2514#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,065 INFO L290 TraceCheckUtils]: 7: Hoare triple {2514#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {2514#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {2514#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,066 INFO L290 TraceCheckUtils]: 10: Hoare triple {2514#(<= 5 ~n~0)} assume !(~i~1 >= 0); {2514#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,066 INFO L272 TraceCheckUtils]: 11: Hoare triple {2514#(<= 5 ~n~0)} call SelectionSort(); {2531#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:28,066 INFO L290 TraceCheckUtils]: 12: Hoare triple {2531#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2532#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {2532#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2533#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:28,067 INFO L290 TraceCheckUtils]: 14: Hoare triple {2533#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,067 INFO L290 TraceCheckUtils]: 15: Hoare triple {2534#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,068 INFO L290 TraceCheckUtils]: 16: Hoare triple {2534#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,068 INFO L290 TraceCheckUtils]: 17: Hoare triple {2534#(<= ~n~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,068 INFO L290 TraceCheckUtils]: 18: Hoare triple {2534#(<= ~n~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,068 INFO L290 TraceCheckUtils]: 19: Hoare triple {2534#(<= ~n~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {2534#(<= ~n~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,069 INFO L290 TraceCheckUtils]: 21: Hoare triple {2534#(<= ~n~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,069 INFO L290 TraceCheckUtils]: 22: Hoare triple {2534#(<= ~n~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,069 INFO L290 TraceCheckUtils]: 23: Hoare triple {2534#(<= ~n~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,070 INFO L290 TraceCheckUtils]: 24: Hoare triple {2534#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,070 INFO L290 TraceCheckUtils]: 25: Hoare triple {2534#(<= ~n~0 1)} assume true; {2534#(<= ~n~0 1)} is VALID [2022-04-28 09:00:28,070 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2534#(<= ~n~0 1)} {2514#(<= 5 ~n~0)} #91#return; {2510#false} is VALID [2022-04-28 09:00:28,070 INFO L290 TraceCheckUtils]: 27: Hoare triple {2510#false} ~i~1 := 0; {2510#false} is VALID [2022-04-28 09:00:28,071 INFO L290 TraceCheckUtils]: 28: Hoare triple {2510#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2510#false} is VALID [2022-04-28 09:00:28,071 INFO L272 TraceCheckUtils]: 29: Hoare triple {2510#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {2510#false} is VALID [2022-04-28 09:00:28,071 INFO L290 TraceCheckUtils]: 30: Hoare triple {2510#false} ~cond := #in~cond; {2510#false} is VALID [2022-04-28 09:00:28,071 INFO L290 TraceCheckUtils]: 31: Hoare triple {2510#false} assume 0 == ~cond; {2510#false} is VALID [2022-04-28 09:00:28,071 INFO L290 TraceCheckUtils]: 32: Hoare triple {2510#false} assume !false; {2510#false} is VALID [2022-04-28 09:00:28,071 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 09:00:28,071 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:28,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2068730607] [2022-04-28 09:00:28,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2068730607] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:28,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1396875514] [2022-04-28 09:00:28,072 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:00:28,072 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:28,072 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:28,073 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:28,074 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 09:00:28,114 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:00:28,114 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:28,115 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 09:00:28,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:28,125 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:28,258 INFO L272 TraceCheckUtils]: 0: Hoare triple {2509#true} call ULTIMATE.init(); {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L290 TraceCheckUtils]: 1: Hoare triple {2509#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L290 TraceCheckUtils]: 2: Hoare triple {2509#true} assume true; {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2509#true} {2509#true} #95#return; {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L272 TraceCheckUtils]: 4: Hoare triple {2509#true} call #t~ret10 := main(); {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L290 TraceCheckUtils]: 5: Hoare triple {2509#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L290 TraceCheckUtils]: 6: Hoare triple {2509#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L290 TraceCheckUtils]: 7: Hoare triple {2509#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L290 TraceCheckUtils]: 8: Hoare triple {2509#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L290 TraceCheckUtils]: 9: Hoare triple {2509#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L290 TraceCheckUtils]: 10: Hoare triple {2509#true} assume !(~i~1 >= 0); {2509#true} is VALID [2022-04-28 09:00:28,259 INFO L272 TraceCheckUtils]: 11: Hoare triple {2509#true} call SelectionSort(); {2509#true} is VALID [2022-04-28 09:00:28,260 INFO L290 TraceCheckUtils]: 12: Hoare triple {2509#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {2509#true} is VALID [2022-04-28 09:00:28,260 INFO L290 TraceCheckUtils]: 13: Hoare triple {2509#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2577#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:28,260 INFO L290 TraceCheckUtils]: 14: Hoare triple {2577#(<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1))} assume !(~i~0 < ~n~0); {2581#(<= ~n~0 (+ SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:28,261 INFO L290 TraceCheckUtils]: 15: Hoare triple {2581#(<= ~n~0 (+ SelectionSort_~lh~0 1))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2581#(<= ~n~0 (+ SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:28,261 INFO L290 TraceCheckUtils]: 16: Hoare triple {2581#(<= ~n~0 (+ SelectionSort_~lh~0 1))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2588#(<= ~n~0 SelectionSort_~lh~0)} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 17: Hoare triple {2588#(<= ~n~0 SelectionSort_~lh~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 18: Hoare triple {2510#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 19: Hoare triple {2510#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 20: Hoare triple {2510#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 21: Hoare triple {2510#false} assume !(~i~0 < ~n~0); {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 22: Hoare triple {2510#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 23: Hoare triple {2510#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 24: Hoare triple {2510#false} assume !(~lh~0 < ~n~0); {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {2510#false} assume true; {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2510#false} {2509#true} #91#return; {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {2510#false} ~i~1 := 0; {2510#false} is VALID [2022-04-28 09:00:28,262 INFO L290 TraceCheckUtils]: 28: Hoare triple {2510#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2510#false} is VALID [2022-04-28 09:00:28,263 INFO L272 TraceCheckUtils]: 29: Hoare triple {2510#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {2510#false} is VALID [2022-04-28 09:00:28,263 INFO L290 TraceCheckUtils]: 30: Hoare triple {2510#false} ~cond := #in~cond; {2510#false} is VALID [2022-04-28 09:00:28,263 INFO L290 TraceCheckUtils]: 31: Hoare triple {2510#false} assume 0 == ~cond; {2510#false} is VALID [2022-04-28 09:00:28,263 INFO L290 TraceCheckUtils]: 32: Hoare triple {2510#false} assume !false; {2510#false} is VALID [2022-04-28 09:00:28,263 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 09:00:28,263 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 09:00:28,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1396875514] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:28,263 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 09:00:28,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 11 [2022-04-28 09:00:28,264 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:28,264 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1503597563] [2022-04-28 09:00:28,264 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1503597563] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:28,264 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:28,264 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 09:00:28,264 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [914511299] [2022-04-28 09:00:28,264 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:28,264 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 33 [2022-04-28 09:00:28,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:28,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 09:00:28,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:28,283 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 09:00:28,283 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:28,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 09:00:28,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=90, Unknown=0, NotChecked=0, Total=110 [2022-04-28 09:00:28,284 INFO L87 Difference]: Start difference. First operand 56 states and 65 transitions. Second operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 09:00:28,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:28,456 INFO L93 Difference]: Finished difference Result 85 states and 101 transitions. [2022-04-28 09:00:28,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 09:00:28,456 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 33 [2022-04-28 09:00:28,456 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:28,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 09:00:28,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-04-28 09:00:28,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 09:00:28,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-04-28 09:00:28,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 66 transitions. [2022-04-28 09:00:28,523 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:28,524 INFO L225 Difference]: With dead ends: 85 [2022-04-28 09:00:28,524 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 09:00:28,524 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-04-28 09:00:28,524 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 10 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:28,525 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 92 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 09:00:28,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 09:00:28,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 44. [2022-04-28 09:00:28,577 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:28,577 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:28,578 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:28,578 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:28,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:28,579 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-28 09:00:28,579 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-28 09:00:28,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:28,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:28,580 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 50 states. [2022-04-28 09:00:28,580 INFO L87 Difference]: Start difference. First operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 50 states. [2022-04-28 09:00:28,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:28,581 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-28 09:00:28,581 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-28 09:00:28,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:28,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:28,581 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:28,581 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:28,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 36 states have (on average 1.2222222222222223) internal successors, (44), 36 states have internal predecessors, (44), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:28,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 51 transitions. [2022-04-28 09:00:28,583 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 51 transitions. Word has length 33 [2022-04-28 09:00:28,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:28,583 INFO L495 AbstractCegarLoop]: Abstraction has 44 states and 51 transitions. [2022-04-28 09:00:28,583 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.0) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (4), 2 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 09:00:28,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 51 transitions. [2022-04-28 09:00:28,642 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:28,642 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-28 09:00:28,643 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 09:00:28,643 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:28,643 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:28,676 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:28,860 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:28,860 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:28,860 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:28,860 INFO L85 PathProgramCache]: Analyzing trace with hash 835149208, now seen corresponding path program 5 times [2022-04-28 09:00:28,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:28,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [110222054] [2022-04-28 09:00:28,862 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:28,862 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:28,862 INFO L85 PathProgramCache]: Analyzing trace with hash 835149208, now seen corresponding path program 6 times [2022-04-28 09:00:28,862 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:28,862 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1228484088] [2022-04-28 09:00:28,863 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:28,863 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:28,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:28,908 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:28,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:28,918 INFO L290 TraceCheckUtils]: 0: Hoare triple {3019#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,919 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,922 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:28,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:28,959 INFO L290 TraceCheckUtils]: 0: Hoare triple {3020#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,960 INFO L290 TraceCheckUtils]: 3: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,960 INFO L290 TraceCheckUtils]: 4: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,961 INFO L290 TraceCheckUtils]: 5: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,961 INFO L290 TraceCheckUtils]: 6: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,961 INFO L290 TraceCheckUtils]: 7: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3022#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:28,962 INFO L290 TraceCheckUtils]: 8: Hoare triple {3022#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3023#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:28,962 INFO L290 TraceCheckUtils]: 9: Hoare triple {3023#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:28,962 INFO L290 TraceCheckUtils]: 10: Hoare triple {3024#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:28,963 INFO L290 TraceCheckUtils]: 11: Hoare triple {3024#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:28,963 INFO L290 TraceCheckUtils]: 12: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:28,963 INFO L290 TraceCheckUtils]: 13: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:28,964 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {3024#(<= ~n~0 2)} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-28 09:00:28,964 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {3019#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:28,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {3019#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,965 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,966 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,966 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(<= 5 ~n~0)} call #t~ret10 := main(); {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,966 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,967 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,967 INFO L290 TraceCheckUtils]: 7: Hoare triple {3003#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,968 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,968 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:28,969 INFO L272 TraceCheckUtils]: 11: Hoare triple {3003#(<= 5 ~n~0)} call SelectionSort(); {3020#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:28,969 INFO L290 TraceCheckUtils]: 12: Hoare triple {3020#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,969 INFO L290 TraceCheckUtils]: 13: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,970 INFO L290 TraceCheckUtils]: 14: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,970 INFO L290 TraceCheckUtils]: 15: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,970 INFO L290 TraceCheckUtils]: 16: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,970 INFO L290 TraceCheckUtils]: 17: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,971 INFO L290 TraceCheckUtils]: 18: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3021#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:28,971 INFO L290 TraceCheckUtils]: 19: Hoare triple {3021#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3022#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:28,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {3022#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3023#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:28,972 INFO L290 TraceCheckUtils]: 21: Hoare triple {3023#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:28,972 INFO L290 TraceCheckUtils]: 22: Hoare triple {3024#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:28,973 INFO L290 TraceCheckUtils]: 23: Hoare triple {3024#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:28,973 INFO L290 TraceCheckUtils]: 24: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:28,973 INFO L290 TraceCheckUtils]: 25: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:28,973 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3024#(<= ~n~0 2)} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-28 09:00:28,974 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-28 09:00:28,974 INFO L290 TraceCheckUtils]: 28: Hoare triple {2999#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2999#false} is VALID [2022-04-28 09:00:28,974 INFO L272 TraceCheckUtils]: 29: Hoare triple {2999#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {2999#false} is VALID [2022-04-28 09:00:28,974 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-28 09:00:28,974 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-28 09:00:28,974 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-28 09:00:28,974 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 09:00:28,974 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:28,974 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1228484088] [2022-04-28 09:00:28,974 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1228484088] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:28,974 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1862533471] [2022-04-28 09:00:28,975 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 09:00:28,975 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:28,975 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:28,976 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:28,976 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 09:00:29,027 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 09:00:29,027 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:29,028 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 09:00:29,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:29,041 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:29,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {2998#true} is VALID [2022-04-28 09:00:29,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {2998#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,211 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(<= 5 ~n~0)} call #t~ret10 := main(); {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,211 INFO L290 TraceCheckUtils]: 5: Hoare triple {3003#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,211 INFO L290 TraceCheckUtils]: 6: Hoare triple {3003#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {3003#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {3003#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {3003#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,213 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,213 INFO L272 TraceCheckUtils]: 11: Hoare triple {3003#(<= 5 ~n~0)} call SelectionSort(); {3003#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:29,213 INFO L290 TraceCheckUtils]: 12: Hoare triple {3003#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:29,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:29,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:29,214 INFO L290 TraceCheckUtils]: 15: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:29,215 INFO L290 TraceCheckUtils]: 16: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:29,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:29,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:29,216 INFO L290 TraceCheckUtils]: 19: Hoare triple {3064#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3086#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:29,216 INFO L290 TraceCheckUtils]: 20: Hoare triple {3086#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3090#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 2))} is VALID [2022-04-28 09:00:29,217 INFO L290 TraceCheckUtils]: 21: Hoare triple {3090#(and (<= 5 ~n~0) (<= SelectionSort_~i~0 2))} assume !(~i~0 < ~n~0); {2999#false} is VALID [2022-04-28 09:00:29,217 INFO L290 TraceCheckUtils]: 22: Hoare triple {2999#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {2999#false} is VALID [2022-04-28 09:00:29,217 INFO L290 TraceCheckUtils]: 23: Hoare triple {2999#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {2999#false} is VALID [2022-04-28 09:00:29,217 INFO L290 TraceCheckUtils]: 24: Hoare triple {2999#false} assume !(~lh~0 < ~n~0); {2999#false} is VALID [2022-04-28 09:00:29,217 INFO L290 TraceCheckUtils]: 25: Hoare triple {2999#false} assume true; {2999#false} is VALID [2022-04-28 09:00:29,217 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2999#false} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-28 09:00:29,217 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-28 09:00:29,217 INFO L290 TraceCheckUtils]: 28: Hoare triple {2999#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2999#false} is VALID [2022-04-28 09:00:29,217 INFO L272 TraceCheckUtils]: 29: Hoare triple {2999#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {2999#false} is VALID [2022-04-28 09:00:29,217 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-28 09:00:29,218 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-28 09:00:29,218 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-28 09:00:29,218 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 09:00:29,218 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:29,557 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-28 09:00:29,557 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-28 09:00:29,558 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-28 09:00:29,558 INFO L272 TraceCheckUtils]: 29: Hoare triple {2999#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {2999#false} is VALID [2022-04-28 09:00:29,558 INFO L290 TraceCheckUtils]: 28: Hoare triple {2999#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {2999#false} is VALID [2022-04-28 09:00:29,558 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-28 09:00:29,558 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3024#(<= ~n~0 2)} {3145#(< 2 ~n~0)} #91#return; {2999#false} is VALID [2022-04-28 09:00:29,559 INFO L290 TraceCheckUtils]: 25: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:29,559 INFO L290 TraceCheckUtils]: 24: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:29,559 INFO L290 TraceCheckUtils]: 23: Hoare triple {3024#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:29,560 INFO L290 TraceCheckUtils]: 22: Hoare triple {3024#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:29,560 INFO L290 TraceCheckUtils]: 21: Hoare triple {3164#(or (<= ~n~0 2) (< SelectionSort_~i~0 ~n~0))} assume !(~i~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-28 09:00:29,561 INFO L290 TraceCheckUtils]: 20: Hoare triple {3168#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3164#(or (<= ~n~0 2) (< SelectionSort_~i~0 ~n~0))} is VALID [2022-04-28 09:00:29,561 INFO L290 TraceCheckUtils]: 19: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3168#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:29,562 INFO L290 TraceCheckUtils]: 18: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:29,562 INFO L290 TraceCheckUtils]: 17: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !(~i~0 < ~n~0); {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:29,562 INFO L290 TraceCheckUtils]: 16: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:29,563 INFO L290 TraceCheckUtils]: 15: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:29,563 INFO L290 TraceCheckUtils]: 14: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:29,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:29,564 INFO L290 TraceCheckUtils]: 12: Hoare triple {2998#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3172#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:29,564 INFO L272 TraceCheckUtils]: 11: Hoare triple {3145#(< 2 ~n~0)} call SelectionSort(); {2998#true} is VALID [2022-04-28 09:00:29,564 INFO L290 TraceCheckUtils]: 10: Hoare triple {3145#(< 2 ~n~0)} assume !(~i~1 >= 0); {3145#(< 2 ~n~0)} is VALID [2022-04-28 09:00:29,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {3145#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3145#(< 2 ~n~0)} is VALID [2022-04-28 09:00:29,565 INFO L290 TraceCheckUtils]: 8: Hoare triple {3145#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3145#(< 2 ~n~0)} is VALID [2022-04-28 09:00:29,565 INFO L290 TraceCheckUtils]: 7: Hoare triple {3145#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3145#(< 2 ~n~0)} is VALID [2022-04-28 09:00:29,566 INFO L290 TraceCheckUtils]: 6: Hoare triple {3145#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3145#(< 2 ~n~0)} is VALID [2022-04-28 09:00:29,566 INFO L290 TraceCheckUtils]: 5: Hoare triple {3145#(< 2 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3145#(< 2 ~n~0)} is VALID [2022-04-28 09:00:29,566 INFO L272 TraceCheckUtils]: 4: Hoare triple {3145#(< 2 ~n~0)} call #t~ret10 := main(); {3145#(< 2 ~n~0)} is VALID [2022-04-28 09:00:29,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3145#(< 2 ~n~0)} {2998#true} #95#return; {3145#(< 2 ~n~0)} is VALID [2022-04-28 09:00:29,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {3145#(< 2 ~n~0)} assume true; {3145#(< 2 ~n~0)} is VALID [2022-04-28 09:00:29,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {2998#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3145#(< 2 ~n~0)} is VALID [2022-04-28 09:00:29,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {2998#true} is VALID [2022-04-28 09:00:29,568 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 09:00:29,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1862533471] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:29,568 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:29,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 7] total 16 [2022-04-28 09:00:29,569 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:29,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [110222054] [2022-04-28 09:00:29,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [110222054] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:29,569 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:29,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 09:00:29,569 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [154295330] [2022-04-28 09:00:29,569 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:29,569 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 33 [2022-04-28 09:00:29,570 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:29,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:29,592 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:29,592 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 09:00:29,592 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:29,592 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 09:00:29,592 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-28 09:00:29,593 INFO L87 Difference]: Start difference. First operand 44 states and 51 transitions. Second operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:30,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:30,150 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2022-04-28 09:00:30,150 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 09:00:30,151 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 33 [2022-04-28 09:00:30,151 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:30,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:30,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-28 09:00:30,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:30,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-28 09:00:30,153 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 75 transitions. [2022-04-28 09:00:30,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:30,218 INFO L225 Difference]: With dead ends: 70 [2022-04-28 09:00:30,218 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 09:00:30,219 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 94 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=156, Invalid=444, Unknown=0, NotChecked=0, Total=600 [2022-04-28 09:00:30,219 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 124 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 158 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 124 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 188 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 158 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:30,219 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [124 Valid, 29 Invalid, 188 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 158 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 09:00:30,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 09:00:30,304 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 45. [2022-04-28 09:00:30,304 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:30,304 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:30,304 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:30,305 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:30,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:30,306 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-04-28 09:00:30,306 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-28 09:00:30,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:30,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:30,306 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 54 states. [2022-04-28 09:00:30,306 INFO L87 Difference]: Start difference. First operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 54 states. [2022-04-28 09:00:30,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:30,307 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-04-28 09:00:30,307 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-28 09:00:30,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:30,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:30,307 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:30,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:30,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 37 states have (on average 1.2162162162162162) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:30,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2022-04-28 09:00:30,308 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 52 transitions. Word has length 33 [2022-04-28 09:00:30,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:30,309 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 52 transitions. [2022-04-28 09:00:30,309 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:30,309 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 52 transitions. [2022-04-28 09:00:30,371 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:30,371 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2022-04-28 09:00:30,371 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 09:00:30,371 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:30,372 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:30,390 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:30,572 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:30,572 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:30,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:30,573 INFO L85 PathProgramCache]: Analyzing trace with hash 1075110444, now seen corresponding path program 7 times [2022-04-28 09:00:30,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:30,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1325905298] [2022-04-28 09:00:30,575 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:30,575 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:30,575 INFO L85 PathProgramCache]: Analyzing trace with hash 1075110444, now seen corresponding path program 8 times [2022-04-28 09:00:30,575 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:30,575 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [502376501] [2022-04-28 09:00:30,575 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:30,575 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:30,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:30,618 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:30,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:30,627 INFO L290 TraceCheckUtils]: 0: Hoare triple {3609#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {3590#(<= 5 ~n~0)} assume true; {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,628 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3590#(<= 5 ~n~0)} {3585#true} #95#return; {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,631 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:30,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:30,677 INFO L290 TraceCheckUtils]: 0: Hoare triple {3610#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3611#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:30,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {3611#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:30,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {3612#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:30,678 INFO L290 TraceCheckUtils]: 3: Hoare triple {3612#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:30,678 INFO L290 TraceCheckUtils]: 4: Hoare triple {3612#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3613#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:30,678 INFO L290 TraceCheckUtils]: 5: Hoare triple {3613#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,679 INFO L290 TraceCheckUtils]: 6: Hoare triple {3614#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,679 INFO L290 TraceCheckUtils]: 7: Hoare triple {3614#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,679 INFO L290 TraceCheckUtils]: 8: Hoare triple {3614#(<= ~n~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,679 INFO L290 TraceCheckUtils]: 9: Hoare triple {3614#(<= ~n~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,680 INFO L290 TraceCheckUtils]: 10: Hoare triple {3614#(<= ~n~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,680 INFO L290 TraceCheckUtils]: 11: Hoare triple {3614#(<= ~n~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,680 INFO L290 TraceCheckUtils]: 12: Hoare triple {3614#(<= ~n~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {3614#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,681 INFO L290 TraceCheckUtils]: 14: Hoare triple {3614#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,681 INFO L290 TraceCheckUtils]: 15: Hoare triple {3614#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,681 INFO L290 TraceCheckUtils]: 16: Hoare triple {3614#(<= ~n~0 2)} assume true; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,682 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3614#(<= ~n~0 2)} {3590#(<= 5 ~n~0)} #91#return; {3586#false} is VALID [2022-04-28 09:00:30,682 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3609#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:30,683 INFO L290 TraceCheckUtils]: 1: Hoare triple {3609#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,683 INFO L290 TraceCheckUtils]: 2: Hoare triple {3590#(<= 5 ~n~0)} assume true; {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3590#(<= 5 ~n~0)} {3585#true} #95#return; {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,684 INFO L272 TraceCheckUtils]: 4: Hoare triple {3590#(<= 5 ~n~0)} call #t~ret10 := main(); {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {3590#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,684 INFO L290 TraceCheckUtils]: 6: Hoare triple {3590#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {3590#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {3590#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {3590#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,685 INFO L290 TraceCheckUtils]: 10: Hoare triple {3590#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3590#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:30,685 INFO L272 TraceCheckUtils]: 11: Hoare triple {3590#(<= 5 ~n~0)} call SelectionSort(); {3610#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:30,686 INFO L290 TraceCheckUtils]: 12: Hoare triple {3610#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3611#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:30,686 INFO L290 TraceCheckUtils]: 13: Hoare triple {3611#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:30,686 INFO L290 TraceCheckUtils]: 14: Hoare triple {3612#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:30,687 INFO L290 TraceCheckUtils]: 15: Hoare triple {3612#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3612#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:30,687 INFO L290 TraceCheckUtils]: 16: Hoare triple {3612#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3613#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:30,687 INFO L290 TraceCheckUtils]: 17: Hoare triple {3613#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,688 INFO L290 TraceCheckUtils]: 18: Hoare triple {3614#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,688 INFO L290 TraceCheckUtils]: 19: Hoare triple {3614#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,688 INFO L290 TraceCheckUtils]: 20: Hoare triple {3614#(<= ~n~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,688 INFO L290 TraceCheckUtils]: 21: Hoare triple {3614#(<= ~n~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,689 INFO L290 TraceCheckUtils]: 22: Hoare triple {3614#(<= ~n~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,689 INFO L290 TraceCheckUtils]: 23: Hoare triple {3614#(<= ~n~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,689 INFO L290 TraceCheckUtils]: 24: Hoare triple {3614#(<= ~n~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,689 INFO L290 TraceCheckUtils]: 25: Hoare triple {3614#(<= ~n~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,690 INFO L290 TraceCheckUtils]: 26: Hoare triple {3614#(<= ~n~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,690 INFO L290 TraceCheckUtils]: 27: Hoare triple {3614#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,690 INFO L290 TraceCheckUtils]: 28: Hoare triple {3614#(<= ~n~0 2)} assume true; {3614#(<= ~n~0 2)} is VALID [2022-04-28 09:00:30,690 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3614#(<= ~n~0 2)} {3590#(<= 5 ~n~0)} #91#return; {3586#false} is VALID [2022-04-28 09:00:30,691 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-28 09:00:30,691 INFO L290 TraceCheckUtils]: 31: Hoare triple {3586#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3586#false} is VALID [2022-04-28 09:00:30,691 INFO L272 TraceCheckUtils]: 32: Hoare triple {3586#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {3586#false} is VALID [2022-04-28 09:00:30,691 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-28 09:00:30,691 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-28 09:00:30,691 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-28 09:00:30,691 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 09:00:30,691 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:30,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [502376501] [2022-04-28 09:00:30,691 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [502376501] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:30,691 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [332698074] [2022-04-28 09:00:30,691 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:00:30,692 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:30,692 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:30,692 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:30,693 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 09:00:30,746 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:00:30,746 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:30,747 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 09:00:30,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:30,756 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:30,844 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3585#true} is VALID [2022-04-28 09:00:30,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {3585#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3585#true} is VALID [2022-04-28 09:00:30,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-28 09:00:30,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3585#true} {3585#true} #95#return; {3585#true} is VALID [2022-04-28 09:00:30,844 INFO L272 TraceCheckUtils]: 4: Hoare triple {3585#true} call #t~ret10 := main(); {3585#true} is VALID [2022-04-28 09:00:30,845 INFO L290 TraceCheckUtils]: 5: Hoare triple {3585#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3633#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:30,845 INFO L290 TraceCheckUtils]: 6: Hoare triple {3633#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3633#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:30,845 INFO L290 TraceCheckUtils]: 7: Hoare triple {3633#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3640#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:30,846 INFO L290 TraceCheckUtils]: 8: Hoare triple {3640#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3640#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:30,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {3640#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3647#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:30,846 INFO L290 TraceCheckUtils]: 10: Hoare triple {3647#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {3586#false} is VALID [2022-04-28 09:00:30,846 INFO L272 TraceCheckUtils]: 11: Hoare triple {3586#false} call SelectionSort(); {3586#false} is VALID [2022-04-28 09:00:30,846 INFO L290 TraceCheckUtils]: 12: Hoare triple {3586#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 13: Hoare triple {3586#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 14: Hoare triple {3586#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 15: Hoare triple {3586#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 16: Hoare triple {3586#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 17: Hoare triple {3586#false} assume !(~i~0 < ~n~0); {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 18: Hoare triple {3586#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 19: Hoare triple {3586#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 20: Hoare triple {3586#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 21: Hoare triple {3586#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 22: Hoare triple {3586#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 23: Hoare triple {3586#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3586#false} is VALID [2022-04-28 09:00:30,847 INFO L290 TraceCheckUtils]: 24: Hoare triple {3586#false} assume !(~i~0 < ~n~0); {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {3586#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L290 TraceCheckUtils]: 26: Hoare triple {3586#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {3586#false} assume !(~lh~0 < ~n~0); {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L290 TraceCheckUtils]: 28: Hoare triple {3586#false} assume true; {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3586#false} {3586#false} #91#return; {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L290 TraceCheckUtils]: 31: Hoare triple {3586#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L272 TraceCheckUtils]: 32: Hoare triple {3586#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-28 09:00:30,848 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 09:00:30,848 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:30,954 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-28 09:00:30,954 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-28 09:00:30,954 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-28 09:00:30,954 INFO L272 TraceCheckUtils]: 32: Hoare triple {3586#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {3586#false} is VALID [2022-04-28 09:00:30,954 INFO L290 TraceCheckUtils]: 31: Hoare triple {3586#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3586#false} is VALID [2022-04-28 09:00:30,954 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-28 09:00:30,954 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3585#true} {3586#false} #91#return; {3586#false} is VALID [2022-04-28 09:00:30,954 INFO L290 TraceCheckUtils]: 28: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-28 09:00:30,954 INFO L290 TraceCheckUtils]: 27: Hoare triple {3585#true} assume !(~lh~0 < ~n~0); {3585#true} is VALID [2022-04-28 09:00:30,954 INFO L290 TraceCheckUtils]: 26: Hoare triple {3585#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3585#true} is VALID [2022-04-28 09:00:30,954 INFO L290 TraceCheckUtils]: 25: Hoare triple {3585#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 24: Hoare triple {3585#true} assume !(~i~0 < ~n~0); {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 23: Hoare triple {3585#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 22: Hoare triple {3585#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 21: Hoare triple {3585#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {3585#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 19: Hoare triple {3585#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 18: Hoare triple {3585#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 17: Hoare triple {3585#true} assume !(~i~0 < ~n~0); {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 16: Hoare triple {3585#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 15: Hoare triple {3585#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 14: Hoare triple {3585#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {3585#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L290 TraceCheckUtils]: 12: Hoare triple {3585#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {3585#true} is VALID [2022-04-28 09:00:30,955 INFO L272 TraceCheckUtils]: 11: Hoare triple {3586#false} call SelectionSort(); {3585#true} is VALID [2022-04-28 09:00:30,956 INFO L290 TraceCheckUtils]: 10: Hoare triple {3801#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {3586#false} is VALID [2022-04-28 09:00:30,956 INFO L290 TraceCheckUtils]: 9: Hoare triple {3805#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3801#(<= 0 main_~i~1)} is VALID [2022-04-28 09:00:30,957 INFO L290 TraceCheckUtils]: 8: Hoare triple {3805#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3805#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:30,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {3647#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {3805#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:30,957 INFO L290 TraceCheckUtils]: 6: Hoare triple {3647#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {3647#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:30,958 INFO L290 TraceCheckUtils]: 5: Hoare triple {3585#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {3647#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:30,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {3585#true} call #t~ret10 := main(); {3585#true} is VALID [2022-04-28 09:00:30,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3585#true} {3585#true} #95#return; {3585#true} is VALID [2022-04-28 09:00:30,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-28 09:00:30,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {3585#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {3585#true} is VALID [2022-04-28 09:00:30,958 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3585#true} is VALID [2022-04-28 09:00:30,958 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 09:00:30,958 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [332698074] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:30,958 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:30,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5, 5] total 14 [2022-04-28 09:00:30,960 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:30,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1325905298] [2022-04-28 09:00:30,960 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1325905298] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:30,961 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:30,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 09:00:30,961 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2028910938] [2022-04-28 09:00:30,961 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:30,961 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 36 [2022-04-28 09:00:30,961 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:30,961 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:30,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:30,981 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 09:00:30,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:30,981 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 09:00:30,982 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2022-04-28 09:00:30,982 INFO L87 Difference]: Start difference. First operand 45 states and 52 transitions. Second operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:31,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:31,423 INFO L93 Difference]: Finished difference Result 77 states and 91 transitions. [2022-04-28 09:00:31,423 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 09:00:31,423 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 36 [2022-04-28 09:00:31,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:31,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:31,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-04-28 09:00:31,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:31,425 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-04-28 09:00:31,426 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 73 transitions. [2022-04-28 09:00:31,482 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:31,483 INFO L225 Difference]: With dead ends: 77 [2022-04-28 09:00:31,483 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 09:00:31,484 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 68 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=101, Invalid=361, Unknown=0, NotChecked=0, Total=462 [2022-04-28 09:00:31,484 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 107 mSDsluCounter, 6 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 107 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 161 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:31,484 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [107 Valid, 27 Invalid, 161 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 09:00:31,485 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 09:00:31,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 48. [2022-04-28 09:00:31,559 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:31,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:31,559 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:31,559 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:31,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:31,560 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-28 09:00:31,560 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-28 09:00:31,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:31,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:31,561 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 50 states. [2022-04-28 09:00:31,561 INFO L87 Difference]: Start difference. First operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 50 states. [2022-04-28 09:00:31,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:31,562 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-28 09:00:31,562 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-28 09:00:31,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:31,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:31,562 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:31,562 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:31,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:31,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 56 transitions. [2022-04-28 09:00:31,563 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 56 transitions. Word has length 36 [2022-04-28 09:00:31,563 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:31,564 INFO L495 AbstractCegarLoop]: Abstraction has 48 states and 56 transitions. [2022-04-28 09:00:31,564 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 6 states have internal predecessors, (26), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:31,564 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 56 transitions. [2022-04-28 09:00:31,630 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:31,630 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2022-04-28 09:00:31,630 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 09:00:31,631 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:31,631 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:31,648 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:31,846 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:31,847 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:31,847 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:31,847 INFO L85 PathProgramCache]: Analyzing trace with hash 482252264, now seen corresponding path program 9 times [2022-04-28 09:00:31,847 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:31,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1625045506] [2022-04-28 09:00:31,849 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:31,849 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:31,849 INFO L85 PathProgramCache]: Analyzing trace with hash 482252264, now seen corresponding path program 10 times [2022-04-28 09:00:31,849 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:31,849 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [214531241] [2022-04-28 09:00:31,849 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:31,850 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:31,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:31,889 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:31,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:31,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {4228#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {4206#(<= 5 ~n~0)} assume true; {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,896 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4206#(<= 5 ~n~0)} {4201#true} #95#return; {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,899 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:31,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:31,945 INFO L290 TraceCheckUtils]: 0: Hoare triple {4229#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4230#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:31,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {4230#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:31,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {4231#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:31,956 INFO L290 TraceCheckUtils]: 3: Hoare triple {4231#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:31,956 INFO L290 TraceCheckUtils]: 4: Hoare triple {4231#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:31,957 INFO L290 TraceCheckUtils]: 5: Hoare triple {4232#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:31,957 INFO L290 TraceCheckUtils]: 6: Hoare triple {4232#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:31,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {4232#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4233#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:31,958 INFO L290 TraceCheckUtils]: 8: Hoare triple {4233#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {4234#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,958 INFO L290 TraceCheckUtils]: 10: Hoare triple {4234#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,959 INFO L290 TraceCheckUtils]: 11: Hoare triple {4234#(<= ~n~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,959 INFO L290 TraceCheckUtils]: 12: Hoare triple {4234#(<= ~n~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,959 INFO L290 TraceCheckUtils]: 13: Hoare triple {4234#(<= ~n~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,960 INFO L290 TraceCheckUtils]: 14: Hoare triple {4234#(<= ~n~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,960 INFO L290 TraceCheckUtils]: 15: Hoare triple {4234#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {4234#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,961 INFO L290 TraceCheckUtils]: 17: Hoare triple {4234#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,961 INFO L290 TraceCheckUtils]: 18: Hoare triple {4234#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,961 INFO L290 TraceCheckUtils]: 19: Hoare triple {4234#(<= ~n~0 3)} assume true; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,962 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4234#(<= ~n~0 3)} {4206#(<= 5 ~n~0)} #91#return; {4202#false} is VALID [2022-04-28 09:00:31,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4228#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:31,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {4228#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {4206#(<= 5 ~n~0)} assume true; {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4206#(<= 5 ~n~0)} {4201#true} #95#return; {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {4206#(<= 5 ~n~0)} call #t~ret10 := main(); {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {4206#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,965 INFO L290 TraceCheckUtils]: 6: Hoare triple {4206#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {4206#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {4206#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {4206#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,966 INFO L290 TraceCheckUtils]: 10: Hoare triple {4206#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4206#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:31,966 INFO L272 TraceCheckUtils]: 11: Hoare triple {4206#(<= 5 ~n~0)} call SelectionSort(); {4229#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:31,967 INFO L290 TraceCheckUtils]: 12: Hoare triple {4229#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4230#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:31,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {4230#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:31,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {4231#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:31,968 INFO L290 TraceCheckUtils]: 15: Hoare triple {4231#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4231#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:31,968 INFO L290 TraceCheckUtils]: 16: Hoare triple {4231#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:31,969 INFO L290 TraceCheckUtils]: 17: Hoare triple {4232#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:31,969 INFO L290 TraceCheckUtils]: 18: Hoare triple {4232#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4232#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:31,969 INFO L290 TraceCheckUtils]: 19: Hoare triple {4232#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4233#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:31,970 INFO L290 TraceCheckUtils]: 20: Hoare triple {4233#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,970 INFO L290 TraceCheckUtils]: 21: Hoare triple {4234#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,970 INFO L290 TraceCheckUtils]: 22: Hoare triple {4234#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,971 INFO L290 TraceCheckUtils]: 23: Hoare triple {4234#(<= ~n~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,971 INFO L290 TraceCheckUtils]: 24: Hoare triple {4234#(<= ~n~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,971 INFO L290 TraceCheckUtils]: 25: Hoare triple {4234#(<= ~n~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {4234#(<= ~n~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {4234#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,972 INFO L290 TraceCheckUtils]: 28: Hoare triple {4234#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,973 INFO L290 TraceCheckUtils]: 29: Hoare triple {4234#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,973 INFO L290 TraceCheckUtils]: 30: Hoare triple {4234#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,973 INFO L290 TraceCheckUtils]: 31: Hoare triple {4234#(<= ~n~0 3)} assume true; {4234#(<= ~n~0 3)} is VALID [2022-04-28 09:00:31,974 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4234#(<= ~n~0 3)} {4206#(<= 5 ~n~0)} #91#return; {4202#false} is VALID [2022-04-28 09:00:31,974 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-28 09:00:31,974 INFO L290 TraceCheckUtils]: 34: Hoare triple {4202#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4202#false} is VALID [2022-04-28 09:00:31,974 INFO L272 TraceCheckUtils]: 35: Hoare triple {4202#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4202#false} is VALID [2022-04-28 09:00:31,974 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-28 09:00:31,974 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-28 09:00:31,974 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-28 09:00:31,974 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 09:00:31,975 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:31,975 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [214531241] [2022-04-28 09:00:31,975 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [214531241] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:31,975 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [608886509] [2022-04-28 09:00:31,975 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:00:31,975 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:31,975 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:31,992 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:31,993 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 09:00:32,056 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:00:32,057 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:32,057 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 09:00:32,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:32,066 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:32,230 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4201#true} is VALID [2022-04-28 09:00:32,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {4201#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#true} assume true; {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4201#true} {4201#true} #95#return; {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {4201#true} call #t~ret10 := main(); {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {4201#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L290 TraceCheckUtils]: 6: Hoare triple {4201#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L290 TraceCheckUtils]: 7: Hoare triple {4201#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {4201#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L290 TraceCheckUtils]: 9: Hoare triple {4201#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#true} assume !(~i~1 >= 0); {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L272 TraceCheckUtils]: 11: Hoare triple {4201#true} call SelectionSort(); {4201#true} is VALID [2022-04-28 09:00:32,231 INFO L290 TraceCheckUtils]: 12: Hoare triple {4201#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4201#true} is VALID [2022-04-28 09:00:32,232 INFO L290 TraceCheckUtils]: 13: Hoare triple {4201#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:32,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:32,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:32,233 INFO L290 TraceCheckUtils]: 16: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4287#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:32,233 INFO L290 TraceCheckUtils]: 17: Hoare triple {4287#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:32,234 INFO L290 TraceCheckUtils]: 18: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:32,234 INFO L290 TraceCheckUtils]: 19: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:32,234 INFO L290 TraceCheckUtils]: 20: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !(~i~0 < ~n~0); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:32,234 INFO L290 TraceCheckUtils]: 21: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:32,235 INFO L290 TraceCheckUtils]: 22: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,235 INFO L290 TraceCheckUtils]: 23: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,235 INFO L290 TraceCheckUtils]: 24: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,236 INFO L290 TraceCheckUtils]: 26: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !(~i~0 < ~n~0); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,236 INFO L290 TraceCheckUtils]: 28: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,237 INFO L290 TraceCheckUtils]: 29: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4329#(< SelectionSort_~lh~0 ~n~0)} is VALID [2022-04-28 09:00:32,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {4329#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {4202#false} is VALID [2022-04-28 09:00:32,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {4202#false} assume true; {4202#false} is VALID [2022-04-28 09:00:32,237 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4202#false} {4201#true} #91#return; {4202#false} is VALID [2022-04-28 09:00:32,237 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-28 09:00:32,237 INFO L290 TraceCheckUtils]: 34: Hoare triple {4202#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4202#false} is VALID [2022-04-28 09:00:32,238 INFO L272 TraceCheckUtils]: 35: Hoare triple {4202#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4202#false} is VALID [2022-04-28 09:00:32,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-28 09:00:32,238 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-28 09:00:32,238 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-28 09:00:32,238 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 09:00:32,238 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:32,406 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-28 09:00:32,406 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-28 09:00:32,406 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-28 09:00:32,407 INFO L272 TraceCheckUtils]: 35: Hoare triple {4202#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4202#false} is VALID [2022-04-28 09:00:32,407 INFO L290 TraceCheckUtils]: 34: Hoare triple {4202#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4202#false} is VALID [2022-04-28 09:00:32,407 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-28 09:00:32,407 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4202#false} {4201#true} #91#return; {4202#false} is VALID [2022-04-28 09:00:32,407 INFO L290 TraceCheckUtils]: 31: Hoare triple {4202#false} assume true; {4202#false} is VALID [2022-04-28 09:00:32,407 INFO L290 TraceCheckUtils]: 30: Hoare triple {4329#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {4202#false} is VALID [2022-04-28 09:00:32,408 INFO L290 TraceCheckUtils]: 29: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4329#(< SelectionSort_~lh~0 ~n~0)} is VALID [2022-04-28 09:00:32,408 INFO L290 TraceCheckUtils]: 28: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,408 INFO L290 TraceCheckUtils]: 27: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !(~i~0 < ~n~0); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,409 INFO L290 TraceCheckUtils]: 26: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,409 INFO L290 TraceCheckUtils]: 25: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,409 INFO L290 TraceCheckUtils]: 24: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,409 INFO L290 TraceCheckUtils]: 23: Hoare triple {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,410 INFO L290 TraceCheckUtils]: 22: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4307#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:32,410 INFO L290 TraceCheckUtils]: 21: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:32,410 INFO L290 TraceCheckUtils]: 20: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !(~i~0 < ~n~0); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:32,412 INFO L290 TraceCheckUtils]: 19: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:32,412 INFO L290 TraceCheckUtils]: 18: Hoare triple {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:32,413 INFO L290 TraceCheckUtils]: 17: Hoare triple {4287#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4291#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:32,413 INFO L290 TraceCheckUtils]: 16: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4287#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:32,414 INFO L290 TraceCheckUtils]: 15: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:32,414 INFO L290 TraceCheckUtils]: 14: Hoare triple {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:32,414 INFO L290 TraceCheckUtils]: 13: Hoare triple {4201#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4277#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:32,414 INFO L290 TraceCheckUtils]: 12: Hoare triple {4201#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L272 TraceCheckUtils]: 11: Hoare triple {4201#true} call SelectionSort(); {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#true} assume !(~i~1 >= 0); {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L290 TraceCheckUtils]: 9: Hoare triple {4201#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L290 TraceCheckUtils]: 8: Hoare triple {4201#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L290 TraceCheckUtils]: 7: Hoare triple {4201#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L290 TraceCheckUtils]: 6: Hoare triple {4201#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L290 TraceCheckUtils]: 5: Hoare triple {4201#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L272 TraceCheckUtils]: 4: Hoare triple {4201#true} call #t~ret10 := main(); {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4201#true} {4201#true} #95#return; {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#true} assume true; {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {4201#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4201#true} is VALID [2022-04-28 09:00:32,415 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4201#true} is VALID [2022-04-28 09:00:32,416 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 3 proven. 17 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-28 09:00:32,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [608886509] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:32,416 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:32,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 7] total 15 [2022-04-28 09:00:32,416 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:32,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1625045506] [2022-04-28 09:00:32,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1625045506] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:32,416 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:32,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 09:00:32,416 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [886966476] [2022-04-28 09:00:32,416 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:32,417 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 39 [2022-04-28 09:00:32,417 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:32,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:32,439 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:32,439 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 09:00:32,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:32,440 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 09:00:32,440 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=176, Unknown=0, NotChecked=0, Total=210 [2022-04-28 09:00:32,440 INFO L87 Difference]: Start difference. First operand 48 states and 56 transitions. Second operand has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:32,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:32,956 INFO L93 Difference]: Finished difference Result 80 states and 95 transitions. [2022-04-28 09:00:32,956 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 09:00:32,956 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 39 [2022-04-28 09:00:32,956 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:32,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:32,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2022-04-28 09:00:32,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:32,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2022-04-28 09:00:32,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 77 transitions. [2022-04-28 09:00:33,032 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:33,033 INFO L225 Difference]: With dead ends: 80 [2022-04-28 09:00:33,033 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 09:00:33,033 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=131, Invalid=421, Unknown=0, NotChecked=0, Total=552 [2022-04-28 09:00:33,034 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 122 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 163 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 163 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:33,034 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [122 Valid, 29 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 163 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 09:00:33,034 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 09:00:33,114 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 51. [2022-04-28 09:00:33,115 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:33,115 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:33,115 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:33,115 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:33,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:33,116 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2022-04-28 09:00:33,116 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 63 transitions. [2022-04-28 09:00:33,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:33,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:33,116 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 53 states. [2022-04-28 09:00:33,116 INFO L87 Difference]: Start difference. First operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 53 states. [2022-04-28 09:00:33,117 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:33,117 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2022-04-28 09:00:33,117 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 63 transitions. [2022-04-28 09:00:33,117 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:33,117 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:33,117 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:33,118 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:33,118 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 43 states have (on average 1.2325581395348837) internal successors, (53), 43 states have internal predecessors, (53), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:33,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 60 transitions. [2022-04-28 09:00:33,118 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 60 transitions. Word has length 39 [2022-04-28 09:00:33,118 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:33,118 INFO L495 AbstractCegarLoop]: Abstraction has 51 states and 60 transitions. [2022-04-28 09:00:33,119 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 7 states have internal predecessors, (29), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:33,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 51 states and 60 transitions. [2022-04-28 09:00:33,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:33,192 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 60 transitions. [2022-04-28 09:00:33,192 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 09:00:33,192 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:33,192 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:33,208 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:33,392 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 09:00:33,393 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:33,393 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:33,393 INFO L85 PathProgramCache]: Analyzing trace with hash -450266964, now seen corresponding path program 11 times [2022-04-28 09:00:33,393 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:33,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1474947384] [2022-04-28 09:00:33,395 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:33,395 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:33,395 INFO L85 PathProgramCache]: Analyzing trace with hash -450266964, now seen corresponding path program 12 times [2022-04-28 09:00:33,395 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:33,395 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [351143819] [2022-04-28 09:00:33,395 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:33,395 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:33,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:33,429 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:33,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:33,435 INFO L290 TraceCheckUtils]: 0: Hoare triple {4889#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,436 INFO L290 TraceCheckUtils]: 1: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,436 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,439 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:33,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:33,503 INFO L290 TraceCheckUtils]: 0: Hoare triple {4890#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4891#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:33,504 INFO L290 TraceCheckUtils]: 1: Hoare triple {4891#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:33,504 INFO L290 TraceCheckUtils]: 2: Hoare triple {4892#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:33,504 INFO L290 TraceCheckUtils]: 3: Hoare triple {4892#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:33,505 INFO L290 TraceCheckUtils]: 4: Hoare triple {4892#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:33,505 INFO L290 TraceCheckUtils]: 5: Hoare triple {4893#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:33,505 INFO L290 TraceCheckUtils]: 6: Hoare triple {4893#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:33,506 INFO L290 TraceCheckUtils]: 7: Hoare triple {4893#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:33,506 INFO L290 TraceCheckUtils]: 8: Hoare triple {4894#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:33,506 INFO L290 TraceCheckUtils]: 9: Hoare triple {4894#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:33,507 INFO L290 TraceCheckUtils]: 10: Hoare triple {4894#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4895#(<= SelectionSort_~i~0 4)} is VALID [2022-04-28 09:00:33,507 INFO L290 TraceCheckUtils]: 11: Hoare triple {4895#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,507 INFO L290 TraceCheckUtils]: 12: Hoare triple {4896#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,507 INFO L290 TraceCheckUtils]: 13: Hoare triple {4896#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,508 INFO L290 TraceCheckUtils]: 14: Hoare triple {4896#(<= ~n~0 4)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,508 INFO L290 TraceCheckUtils]: 15: Hoare triple {4896#(<= ~n~0 4)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,508 INFO L290 TraceCheckUtils]: 16: Hoare triple {4896#(<= ~n~0 4)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,509 INFO L290 TraceCheckUtils]: 17: Hoare triple {4896#(<= ~n~0 4)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {4896#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {4896#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {4896#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,510 INFO L290 TraceCheckUtils]: 21: Hoare triple {4896#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,511 INFO L290 TraceCheckUtils]: 22: Hoare triple {4896#(<= ~n~0 4)} assume true; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,512 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4896#(<= ~n~0 4)} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-28 09:00:33,512 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4889#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:33,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {4889#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {4864#(<= 5 ~n~0)} call #t~ret10 := main(); {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,514 INFO L290 TraceCheckUtils]: 5: Hoare triple {4864#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,514 INFO L290 TraceCheckUtils]: 6: Hoare triple {4864#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,515 INFO L290 TraceCheckUtils]: 7: Hoare triple {4864#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,515 INFO L290 TraceCheckUtils]: 8: Hoare triple {4864#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {4864#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,516 INFO L290 TraceCheckUtils]: 10: Hoare triple {4864#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,516 INFO L272 TraceCheckUtils]: 11: Hoare triple {4864#(<= 5 ~n~0)} call SelectionSort(); {4890#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:33,516 INFO L290 TraceCheckUtils]: 12: Hoare triple {4890#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4891#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:33,517 INFO L290 TraceCheckUtils]: 13: Hoare triple {4891#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:33,517 INFO L290 TraceCheckUtils]: 14: Hoare triple {4892#(<= SelectionSort_~i~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:33,517 INFO L290 TraceCheckUtils]: 15: Hoare triple {4892#(<= SelectionSort_~i~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4892#(<= SelectionSort_~i~0 1)} is VALID [2022-04-28 09:00:33,517 INFO L290 TraceCheckUtils]: 16: Hoare triple {4892#(<= SelectionSort_~i~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:33,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {4893#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:33,518 INFO L290 TraceCheckUtils]: 18: Hoare triple {4893#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4893#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:33,518 INFO L290 TraceCheckUtils]: 19: Hoare triple {4893#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:33,519 INFO L290 TraceCheckUtils]: 20: Hoare triple {4894#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:33,519 INFO L290 TraceCheckUtils]: 21: Hoare triple {4894#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4894#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:33,519 INFO L290 TraceCheckUtils]: 22: Hoare triple {4894#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4895#(<= SelectionSort_~i~0 4)} is VALID [2022-04-28 09:00:33,520 INFO L290 TraceCheckUtils]: 23: Hoare triple {4895#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,520 INFO L290 TraceCheckUtils]: 24: Hoare triple {4896#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,520 INFO L290 TraceCheckUtils]: 25: Hoare triple {4896#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,520 INFO L290 TraceCheckUtils]: 26: Hoare triple {4896#(<= ~n~0 4)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,520 INFO L290 TraceCheckUtils]: 27: Hoare triple {4896#(<= ~n~0 4)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,521 INFO L290 TraceCheckUtils]: 28: Hoare triple {4896#(<= ~n~0 4)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,521 INFO L290 TraceCheckUtils]: 29: Hoare triple {4896#(<= ~n~0 4)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,521 INFO L290 TraceCheckUtils]: 30: Hoare triple {4896#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,521 INFO L290 TraceCheckUtils]: 31: Hoare triple {4896#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,522 INFO L290 TraceCheckUtils]: 32: Hoare triple {4896#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,522 INFO L290 TraceCheckUtils]: 33: Hoare triple {4896#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,522 INFO L290 TraceCheckUtils]: 34: Hoare triple {4896#(<= ~n~0 4)} assume true; {4896#(<= ~n~0 4)} is VALID [2022-04-28 09:00:33,523 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4896#(<= ~n~0 4)} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-28 09:00:33,523 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-28 09:00:33,523 INFO L290 TraceCheckUtils]: 37: Hoare triple {4860#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4860#false} is VALID [2022-04-28 09:00:33,523 INFO L272 TraceCheckUtils]: 38: Hoare triple {4860#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4860#false} is VALID [2022-04-28 09:00:33,523 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-28 09:00:33,523 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-28 09:00:33,523 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-28 09:00:33,523 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 28 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-28 09:00:33,524 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:33,524 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [351143819] [2022-04-28 09:00:33,524 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [351143819] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:33,524 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1587932158] [2022-04-28 09:00:33,524 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 09:00:33,525 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:33,525 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:33,525 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:33,526 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 09:00:33,579 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 09:00:33,580 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:33,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 09:00:33,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:33,589 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:33,834 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-28 09:00:33,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {4859#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,836 INFO L272 TraceCheckUtils]: 4: Hoare triple {4864#(<= 5 ~n~0)} call #t~ret10 := main(); {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,836 INFO L290 TraceCheckUtils]: 5: Hoare triple {4864#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,836 INFO L290 TraceCheckUtils]: 6: Hoare triple {4864#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {4864#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {4864#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {4864#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,838 INFO L290 TraceCheckUtils]: 10: Hoare triple {4864#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,838 INFO L272 TraceCheckUtils]: 11: Hoare triple {4864#(<= 5 ~n~0)} call SelectionSort(); {4864#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:33,838 INFO L290 TraceCheckUtils]: 12: Hoare triple {4864#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,839 INFO L290 TraceCheckUtils]: 13: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,839 INFO L290 TraceCheckUtils]: 14: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,839 INFO L290 TraceCheckUtils]: 15: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,840 INFO L290 TraceCheckUtils]: 16: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,840 INFO L290 TraceCheckUtils]: 17: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,840 INFO L290 TraceCheckUtils]: 18: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,841 INFO L290 TraceCheckUtils]: 19: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,841 INFO L290 TraceCheckUtils]: 20: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,841 INFO L290 TraceCheckUtils]: 21: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,842 INFO L290 TraceCheckUtils]: 22: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,842 INFO L290 TraceCheckUtils]: 23: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,847 INFO L290 TraceCheckUtils]: 24: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:33,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {4936#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:33,848 INFO L290 TraceCheckUtils]: 26: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:33,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:33,849 INFO L290 TraceCheckUtils]: 28: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:33,849 INFO L290 TraceCheckUtils]: 29: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:33,849 INFO L290 TraceCheckUtils]: 30: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !(~i~0 < ~n~0); {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:33,850 INFO L290 TraceCheckUtils]: 31: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:33,850 INFO L290 TraceCheckUtils]: 32: Hoare triple {4976#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {4998#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 2))} is VALID [2022-04-28 09:00:33,851 INFO L290 TraceCheckUtils]: 33: Hoare triple {4998#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 2))} assume !(~lh~0 < ~n~0); {4860#false} is VALID [2022-04-28 09:00:33,851 INFO L290 TraceCheckUtils]: 34: Hoare triple {4860#false} assume true; {4860#false} is VALID [2022-04-28 09:00:33,851 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4860#false} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-28 09:00:33,851 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-28 09:00:33,851 INFO L290 TraceCheckUtils]: 37: Hoare triple {4860#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4860#false} is VALID [2022-04-28 09:00:33,851 INFO L272 TraceCheckUtils]: 38: Hoare triple {4860#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4860#false} is VALID [2022-04-28 09:00:33,851 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-28 09:00:33,851 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-28 09:00:33,851 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-28 09:00:33,851 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 19 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-28 09:00:33,851 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:34,259 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-28 09:00:34,259 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-28 09:00:34,259 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-28 09:00:34,259 INFO L272 TraceCheckUtils]: 38: Hoare triple {4860#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {4860#false} is VALID [2022-04-28 09:00:34,259 INFO L290 TraceCheckUtils]: 37: Hoare triple {4860#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {4860#false} is VALID [2022-04-28 09:00:34,259 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-28 09:00:34,260 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5048#(not (< 2 ~n~0))} {5044#(< 2 ~n~0)} #91#return; {4860#false} is VALID [2022-04-28 09:00:34,260 INFO L290 TraceCheckUtils]: 34: Hoare triple {5048#(not (< 2 ~n~0))} assume true; {5048#(not (< 2 ~n~0))} is VALID [2022-04-28 09:00:34,260 INFO L290 TraceCheckUtils]: 33: Hoare triple {5055#(or (not (< 2 ~n~0)) (< SelectionSort_~lh~0 ~n~0))} assume !(~lh~0 < ~n~0); {5048#(not (< 2 ~n~0))} is VALID [2022-04-28 09:00:34,261 INFO L290 TraceCheckUtils]: 32: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5055#(or (not (< 2 ~n~0)) (< SelectionSort_~lh~0 ~n~0))} is VALID [2022-04-28 09:00:34,261 INFO L290 TraceCheckUtils]: 31: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-28 09:00:34,261 INFO L290 TraceCheckUtils]: 30: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} assume !(~i~0 < ~n~0); {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-28 09:00:34,261 INFO L290 TraceCheckUtils]: 29: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-28 09:00:34,262 INFO L290 TraceCheckUtils]: 28: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-28 09:00:34,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-28 09:00:34,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-28 09:00:34,263 INFO L290 TraceCheckUtils]: 25: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5059#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< 2 ~n~0)))} is VALID [2022-04-28 09:00:34,263 INFO L290 TraceCheckUtils]: 24: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,263 INFO L290 TraceCheckUtils]: 23: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !(~i~0 < ~n~0); {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,264 INFO L290 TraceCheckUtils]: 22: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,264 INFO L290 TraceCheckUtils]: 21: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,267 INFO L290 TraceCheckUtils]: 20: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,267 INFO L290 TraceCheckUtils]: 19: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,268 INFO L290 TraceCheckUtils]: 18: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,268 INFO L290 TraceCheckUtils]: 17: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,269 INFO L290 TraceCheckUtils]: 16: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,269 INFO L290 TraceCheckUtils]: 15: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,270 INFO L290 TraceCheckUtils]: 14: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,270 INFO L290 TraceCheckUtils]: 13: Hoare triple {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,271 INFO L290 TraceCheckUtils]: 12: Hoare triple {4859#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {5081#(or (not (< 2 ~n~0)) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:34,271 INFO L272 TraceCheckUtils]: 11: Hoare triple {5044#(< 2 ~n~0)} call SelectionSort(); {4859#true} is VALID [2022-04-28 09:00:34,271 INFO L290 TraceCheckUtils]: 10: Hoare triple {5044#(< 2 ~n~0)} assume !(~i~1 >= 0); {5044#(< 2 ~n~0)} is VALID [2022-04-28 09:00:34,271 INFO L290 TraceCheckUtils]: 9: Hoare triple {5044#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5044#(< 2 ~n~0)} is VALID [2022-04-28 09:00:34,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {5044#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5044#(< 2 ~n~0)} is VALID [2022-04-28 09:00:34,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {5044#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5044#(< 2 ~n~0)} is VALID [2022-04-28 09:00:34,273 INFO L290 TraceCheckUtils]: 6: Hoare triple {5044#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5044#(< 2 ~n~0)} is VALID [2022-04-28 09:00:34,273 INFO L290 TraceCheckUtils]: 5: Hoare triple {5044#(< 2 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {5044#(< 2 ~n~0)} is VALID [2022-04-28 09:00:34,273 INFO L272 TraceCheckUtils]: 4: Hoare triple {5044#(< 2 ~n~0)} call #t~ret10 := main(); {5044#(< 2 ~n~0)} is VALID [2022-04-28 09:00:34,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5044#(< 2 ~n~0)} {4859#true} #95#return; {5044#(< 2 ~n~0)} is VALID [2022-04-28 09:00:34,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {5044#(< 2 ~n~0)} assume true; {5044#(< 2 ~n~0)} is VALID [2022-04-28 09:00:34,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {4859#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {5044#(< 2 ~n~0)} is VALID [2022-04-28 09:00:34,275 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-28 09:00:34,275 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 19 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-28 09:00:34,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1587932158] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:34,275 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:34,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 6, 7] total 19 [2022-04-28 09:00:34,275 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:34,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1474947384] [2022-04-28 09:00:34,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1474947384] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:34,275 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:34,276 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 09:00:34,276 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1623563554] [2022-04-28 09:00:34,276 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:34,276 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 42 [2022-04-28 09:00:34,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:34,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:34,305 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:34,306 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 09:00:34,306 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:34,306 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 09:00:34,306 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=271, Unknown=0, NotChecked=0, Total=342 [2022-04-28 09:00:34,306 INFO L87 Difference]: Start difference. First operand 51 states and 60 transitions. Second operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:34,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:34,863 INFO L93 Difference]: Finished difference Result 83 states and 99 transitions. [2022-04-28 09:00:34,863 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 09:00:34,863 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 42 [2022-04-28 09:00:34,863 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:34,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:34,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-28 09:00:34,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:34,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-28 09:00:34,865 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 81 transitions. [2022-04-28 09:00:34,930 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:34,931 INFO L225 Difference]: With dead ends: 83 [2022-04-28 09:00:34,931 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 09:00:34,931 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=217, Invalid=595, Unknown=0, NotChecked=0, Total=812 [2022-04-28 09:00:34,932 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 138 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 138 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 205 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:34,932 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [138 Valid, 29 Invalid, 205 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 167 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 09:00:34,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 09:00:35,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 54. [2022-04-28 09:00:35,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:35,001 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:35,001 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:35,001 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:35,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:35,002 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-28 09:00:35,002 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-28 09:00:35,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:35,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:35,003 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 56 states. [2022-04-28 09:00:35,003 INFO L87 Difference]: Start difference. First operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 56 states. [2022-04-28 09:00:35,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:35,004 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-28 09:00:35,004 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-28 09:00:35,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:35,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:35,004 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:35,004 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:35,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 46 states have (on average 1.2391304347826086) internal successors, (57), 46 states have internal predecessors, (57), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:35,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 64 transitions. [2022-04-28 09:00:35,005 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 64 transitions. Word has length 42 [2022-04-28 09:00:35,005 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:35,005 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 64 transitions. [2022-04-28 09:00:35,005 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.2) internal successors, (32), 8 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:35,005 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 64 transitions. [2022-04-28 09:00:35,083 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:35,083 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2022-04-28 09:00:35,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 09:00:35,084 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:35,084 INFO L195 NwaCegarLoop]: trace histogram [5, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:35,105 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:35,291 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:35,291 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:35,292 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:35,292 INFO L85 PathProgramCache]: Analyzing trace with hash -1282117784, now seen corresponding path program 13 times [2022-04-28 09:00:35,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:35,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1623268937] [2022-04-28 09:00:35,294 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:35,294 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:35,294 INFO L85 PathProgramCache]: Analyzing trace with hash -1282117784, now seen corresponding path program 14 times [2022-04-28 09:00:35,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:35,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [855080899] [2022-04-28 09:00:35,294 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:35,294 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:35,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:35,333 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:35,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:35,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {5595#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {5567#(<= 5 ~n~0)} assume true; {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,343 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5567#(<= 5 ~n~0)} {5562#true} #95#return; {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,346 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:35,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:35,394 INFO L290 TraceCheckUtils]: 0: Hoare triple {5596#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,395 INFO L290 TraceCheckUtils]: 3: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,396 INFO L290 TraceCheckUtils]: 4: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,396 INFO L290 TraceCheckUtils]: 6: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,397 INFO L290 TraceCheckUtils]: 7: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,397 INFO L290 TraceCheckUtils]: 8: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,397 INFO L290 TraceCheckUtils]: 9: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,397 INFO L290 TraceCheckUtils]: 10: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,398 INFO L290 TraceCheckUtils]: 11: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,398 INFO L290 TraceCheckUtils]: 12: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,398 INFO L290 TraceCheckUtils]: 13: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,400 INFO L290 TraceCheckUtils]: 15: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,400 INFO L290 TraceCheckUtils]: 16: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5598#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:35,402 INFO L290 TraceCheckUtils]: 17: Hoare triple {5598#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:35,402 INFO L290 TraceCheckUtils]: 18: Hoare triple {5599#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:35,402 INFO L290 TraceCheckUtils]: 19: Hoare triple {5599#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:35,403 INFO L290 TraceCheckUtils]: 20: Hoare triple {5599#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5600#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:35,403 INFO L290 TraceCheckUtils]: 21: Hoare triple {5600#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-28 09:00:35,403 INFO L290 TraceCheckUtils]: 22: Hoare triple {5601#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5601#(<= ~n~0 3)} is VALID [2022-04-28 09:00:35,403 INFO L290 TraceCheckUtils]: 23: Hoare triple {5601#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5601#(<= ~n~0 3)} is VALID [2022-04-28 09:00:35,404 INFO L290 TraceCheckUtils]: 24: Hoare triple {5601#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-28 09:00:35,404 INFO L290 TraceCheckUtils]: 25: Hoare triple {5601#(<= ~n~0 3)} assume true; {5601#(<= ~n~0 3)} is VALID [2022-04-28 09:00:35,405 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5601#(<= ~n~0 3)} {5567#(<= 5 ~n~0)} #91#return; {5563#false} is VALID [2022-04-28 09:00:35,405 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5595#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:35,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {5595#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {5567#(<= 5 ~n~0)} assume true; {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5567#(<= 5 ~n~0)} {5562#true} #95#return; {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,407 INFO L272 TraceCheckUtils]: 4: Hoare triple {5567#(<= 5 ~n~0)} call #t~ret10 := main(); {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,407 INFO L290 TraceCheckUtils]: 5: Hoare triple {5567#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,407 INFO L290 TraceCheckUtils]: 6: Hoare triple {5567#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,408 INFO L290 TraceCheckUtils]: 7: Hoare triple {5567#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,408 INFO L290 TraceCheckUtils]: 8: Hoare triple {5567#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,408 INFO L290 TraceCheckUtils]: 9: Hoare triple {5567#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,408 INFO L290 TraceCheckUtils]: 10: Hoare triple {5567#(<= 5 ~n~0)} assume !(~i~1 >= 0); {5567#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:35,409 INFO L272 TraceCheckUtils]: 11: Hoare triple {5567#(<= 5 ~n~0)} call SelectionSort(); {5596#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:35,409 INFO L290 TraceCheckUtils]: 12: Hoare triple {5596#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,409 INFO L290 TraceCheckUtils]: 13: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,410 INFO L290 TraceCheckUtils]: 14: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,410 INFO L290 TraceCheckUtils]: 15: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,410 INFO L290 TraceCheckUtils]: 16: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,411 INFO L290 TraceCheckUtils]: 17: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,411 INFO L290 TraceCheckUtils]: 18: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,411 INFO L290 TraceCheckUtils]: 19: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,411 INFO L290 TraceCheckUtils]: 20: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,412 INFO L290 TraceCheckUtils]: 21: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,412 INFO L290 TraceCheckUtils]: 22: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,412 INFO L290 TraceCheckUtils]: 23: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,413 INFO L290 TraceCheckUtils]: 24: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,413 INFO L290 TraceCheckUtils]: 25: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,413 INFO L290 TraceCheckUtils]: 26: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,413 INFO L290 TraceCheckUtils]: 27: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5597#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:35,414 INFO L290 TraceCheckUtils]: 28: Hoare triple {5597#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5598#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:35,414 INFO L290 TraceCheckUtils]: 29: Hoare triple {5598#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:35,414 INFO L290 TraceCheckUtils]: 30: Hoare triple {5599#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:35,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {5599#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5599#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:35,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {5599#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5600#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:35,415 INFO L290 TraceCheckUtils]: 33: Hoare triple {5600#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-28 09:00:35,416 INFO L290 TraceCheckUtils]: 34: Hoare triple {5601#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5601#(<= ~n~0 3)} is VALID [2022-04-28 09:00:35,416 INFO L290 TraceCheckUtils]: 35: Hoare triple {5601#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5601#(<= ~n~0 3)} is VALID [2022-04-28 09:00:35,416 INFO L290 TraceCheckUtils]: 36: Hoare triple {5601#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-28 09:00:35,416 INFO L290 TraceCheckUtils]: 37: Hoare triple {5601#(<= ~n~0 3)} assume true; {5601#(<= ~n~0 3)} is VALID [2022-04-28 09:00:35,417 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5601#(<= ~n~0 3)} {5567#(<= 5 ~n~0)} #91#return; {5563#false} is VALID [2022-04-28 09:00:35,417 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-28 09:00:35,417 INFO L290 TraceCheckUtils]: 40: Hoare triple {5563#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5563#false} is VALID [2022-04-28 09:00:35,417 INFO L272 TraceCheckUtils]: 41: Hoare triple {5563#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {5563#false} is VALID [2022-04-28 09:00:35,417 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-28 09:00:35,417 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-28 09:00:35,417 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-28 09:00:35,417 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 0 proven. 24 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 09:00:35,417 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:35,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [855080899] [2022-04-28 09:00:35,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [855080899] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:35,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [250639272] [2022-04-28 09:00:35,418 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:00:35,418 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:35,418 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:35,419 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:35,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 09:00:35,476 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:00:35,476 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:35,477 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 09:00:35,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:35,487 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:35,608 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-28 09:00:35,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {5562#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {5562#true} is VALID [2022-04-28 09:00:35,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 09:00:35,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #95#return; {5562#true} is VALID [2022-04-28 09:00:35,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret10 := main(); {5562#true} is VALID [2022-04-28 09:00:35,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {5562#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {5620#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:35,609 INFO L290 TraceCheckUtils]: 6: Hoare triple {5620#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5620#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:35,609 INFO L290 TraceCheckUtils]: 7: Hoare triple {5620#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5627#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:35,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {5627#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5627#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:35,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {5627#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5634#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:35,610 INFO L290 TraceCheckUtils]: 10: Hoare triple {5634#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {5563#false} is VALID [2022-04-28 09:00:35,610 INFO L272 TraceCheckUtils]: 11: Hoare triple {5563#false} call SelectionSort(); {5563#false} is VALID [2022-04-28 09:00:35,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {5563#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {5563#false} is VALID [2022-04-28 09:00:35,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {5563#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {5563#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {5563#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 16: Hoare triple {5563#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 17: Hoare triple {5563#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 18: Hoare triple {5563#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 19: Hoare triple {5563#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 20: Hoare triple {5563#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 21: Hoare triple {5563#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 22: Hoare triple {5563#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 23: Hoare triple {5563#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 24: Hoare triple {5563#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 25: Hoare triple {5563#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 26: Hoare triple {5563#false} assume !(~i~0 < ~n~0); {5563#false} is VALID [2022-04-28 09:00:35,611 INFO L290 TraceCheckUtils]: 27: Hoare triple {5563#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 28: Hoare triple {5563#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 29: Hoare triple {5563#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 30: Hoare triple {5563#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 31: Hoare triple {5563#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 32: Hoare triple {5563#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 33: Hoare triple {5563#false} assume !(~i~0 < ~n~0); {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 34: Hoare triple {5563#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 35: Hoare triple {5563#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 36: Hoare triple {5563#false} assume !(~lh~0 < ~n~0); {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 37: Hoare triple {5563#false} assume true; {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5563#false} {5563#false} #91#return; {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L290 TraceCheckUtils]: 40: Hoare triple {5563#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5563#false} is VALID [2022-04-28 09:00:35,612 INFO L272 TraceCheckUtils]: 41: Hoare triple {5563#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {5563#false} is VALID [2022-04-28 09:00:35,613 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-28 09:00:35,613 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-28 09:00:35,613 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-28 09:00:35,613 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-28 09:00:35,613 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:35,718 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-28 09:00:35,718 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-28 09:00:35,718 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-28 09:00:35,718 INFO L272 TraceCheckUtils]: 41: Hoare triple {5563#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {5563#false} is VALID [2022-04-28 09:00:35,718 INFO L290 TraceCheckUtils]: 40: Hoare triple {5563#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5563#false} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-28 09:00:35,719 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5562#true} {5563#false} #91#return; {5563#false} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 37: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 36: Hoare triple {5562#true} assume !(~lh~0 < ~n~0); {5562#true} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 35: Hoare triple {5562#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5562#true} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 34: Hoare triple {5562#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 33: Hoare triple {5562#true} assume !(~i~0 < ~n~0); {5562#true} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 32: Hoare triple {5562#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5562#true} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 31: Hoare triple {5562#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5562#true} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 30: Hoare triple {5562#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 29: Hoare triple {5562#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5562#true} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 28: Hoare triple {5562#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {5562#true} is VALID [2022-04-28 09:00:35,719 INFO L290 TraceCheckUtils]: 27: Hoare triple {5562#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 26: Hoare triple {5562#true} assume !(~i~0 < ~n~0); {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {5562#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 24: Hoare triple {5562#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 23: Hoare triple {5562#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 22: Hoare triple {5562#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 21: Hoare triple {5562#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 20: Hoare triple {5562#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 19: Hoare triple {5562#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 18: Hoare triple {5562#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 17: Hoare triple {5562#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 16: Hoare triple {5562#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 15: Hoare triple {5562#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 14: Hoare triple {5562#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 13: Hoare triple {5562#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {5562#true} is VALID [2022-04-28 09:00:35,720 INFO L290 TraceCheckUtils]: 12: Hoare triple {5562#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {5562#true} is VALID [2022-04-28 09:00:35,721 INFO L272 TraceCheckUtils]: 11: Hoare triple {5563#false} call SelectionSort(); {5562#true} is VALID [2022-04-28 09:00:35,721 INFO L290 TraceCheckUtils]: 10: Hoare triple {5842#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {5563#false} is VALID [2022-04-28 09:00:35,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {5846#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5842#(<= 0 main_~i~1)} is VALID [2022-04-28 09:00:35,725 INFO L290 TraceCheckUtils]: 8: Hoare triple {5846#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5846#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:35,725 INFO L290 TraceCheckUtils]: 7: Hoare triple {5634#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {5846#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:35,725 INFO L290 TraceCheckUtils]: 6: Hoare triple {5634#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {5634#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:35,726 INFO L290 TraceCheckUtils]: 5: Hoare triple {5562#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {5634#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:35,726 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret10 := main(); {5562#true} is VALID [2022-04-28 09:00:35,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #95#return; {5562#true} is VALID [2022-04-28 09:00:35,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-28 09:00:35,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {5562#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {5562#true} is VALID [2022-04-28 09:00:35,726 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-28 09:00:35,726 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-28 09:00:35,726 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [250639272] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:35,727 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:35,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-28 09:00:35,727 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:35,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1623268937] [2022-04-28 09:00:35,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1623268937] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:35,727 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:35,727 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 09:00:35,727 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1540405541] [2022-04-28 09:00:35,727 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:35,727 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 45 [2022-04-28 09:00:35,728 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:35,728 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:35,748 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:35,748 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 09:00:35,748 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:35,749 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 09:00:35,749 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-28 09:00:35,749 INFO L87 Difference]: Start difference. First operand 54 states and 64 transitions. Second operand has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:36,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:36,424 INFO L93 Difference]: Finished difference Result 87 states and 106 transitions. [2022-04-28 09:00:36,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 09:00:36,424 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 45 [2022-04-28 09:00:36,424 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:36,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:36,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-28 09:00:36,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:36,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-28 09:00:36,429 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 89 transitions. [2022-04-28 09:00:36,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:36,516 INFO L225 Difference]: With dead ends: 87 [2022-04-28 09:00:36,516 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 09:00:36,517 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 86 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=139, Invalid=511, Unknown=0, NotChecked=0, Total=650 [2022-04-28 09:00:36,517 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 154 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 154 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 206 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:36,518 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [154 Valid, 29 Invalid, 206 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 167 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 09:00:36,518 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 09:00:36,593 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 57. [2022-04-28 09:00:36,593 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:36,594 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:36,594 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:36,594 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:36,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:36,595 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-28 09:00:36,595 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-28 09:00:36,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:36,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:36,595 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 64 states. [2022-04-28 09:00:36,595 INFO L87 Difference]: Start difference. First operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 64 states. [2022-04-28 09:00:36,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:36,596 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-28 09:00:36,596 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-28 09:00:36,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:36,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:36,597 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:36,597 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:36,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 49 states have internal predecessors, (61), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:36,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 68 transitions. [2022-04-28 09:00:36,597 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 68 transitions. Word has length 45 [2022-04-28 09:00:36,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:36,598 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 68 transitions. [2022-04-28 09:00:36,598 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.111111111111111) internal successors, (28), 7 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:36,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 68 transitions. [2022-04-28 09:00:36,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:36,697 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 68 transitions. [2022-04-28 09:00:36,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 09:00:36,697 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:36,697 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:36,713 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-28 09:00:36,897 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 09:00:36,898 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:36,898 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:36,898 INFO L85 PathProgramCache]: Analyzing trace with hash 1463860828, now seen corresponding path program 15 times [2022-04-28 09:00:36,898 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:36,898 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [372094650] [2022-04-28 09:00:36,900 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:36,900 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:36,900 INFO L85 PathProgramCache]: Analyzing trace with hash 1463860828, now seen corresponding path program 16 times [2022-04-28 09:00:36,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:36,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2055146131] [2022-04-28 09:00:36,900 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:36,900 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:36,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:36,933 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:36,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:36,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {6350#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:36,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {6319#(<= 5 ~n~0)} assume true; {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:36,941 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6319#(<= 5 ~n~0)} {6314#true} #95#return; {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:36,943 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:36,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:37,007 INFO L290 TraceCheckUtils]: 0: Hoare triple {6351#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,008 INFO L290 TraceCheckUtils]: 3: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,009 INFO L290 TraceCheckUtils]: 4: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,009 INFO L290 TraceCheckUtils]: 6: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,009 INFO L290 TraceCheckUtils]: 7: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,010 INFO L290 TraceCheckUtils]: 8: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,010 INFO L290 TraceCheckUtils]: 10: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,011 INFO L290 TraceCheckUtils]: 12: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,011 INFO L290 TraceCheckUtils]: 14: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,012 INFO L290 TraceCheckUtils]: 15: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,012 INFO L290 TraceCheckUtils]: 16: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6353#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:37,012 INFO L290 TraceCheckUtils]: 17: Hoare triple {6353#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:37,013 INFO L290 TraceCheckUtils]: 18: Hoare triple {6354#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:37,013 INFO L290 TraceCheckUtils]: 19: Hoare triple {6354#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:37,013 INFO L290 TraceCheckUtils]: 20: Hoare triple {6354#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:37,014 INFO L290 TraceCheckUtils]: 21: Hoare triple {6355#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:37,014 INFO L290 TraceCheckUtils]: 22: Hoare triple {6355#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:37,014 INFO L290 TraceCheckUtils]: 23: Hoare triple {6355#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6356#(<= SelectionSort_~i~0 4)} is VALID [2022-04-28 09:00:37,015 INFO L290 TraceCheckUtils]: 24: Hoare triple {6356#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-28 09:00:37,015 INFO L290 TraceCheckUtils]: 25: Hoare triple {6357#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6357#(<= ~n~0 4)} is VALID [2022-04-28 09:00:37,015 INFO L290 TraceCheckUtils]: 26: Hoare triple {6357#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6357#(<= ~n~0 4)} is VALID [2022-04-28 09:00:37,016 INFO L290 TraceCheckUtils]: 27: Hoare triple {6357#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-28 09:00:37,016 INFO L290 TraceCheckUtils]: 28: Hoare triple {6357#(<= ~n~0 4)} assume true; {6357#(<= ~n~0 4)} is VALID [2022-04-28 09:00:37,016 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6357#(<= ~n~0 4)} {6319#(<= 5 ~n~0)} #91#return; {6315#false} is VALID [2022-04-28 09:00:37,017 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6350#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:37,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {6350#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:37,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {6319#(<= 5 ~n~0)} assume true; {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:37,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6319#(<= 5 ~n~0)} {6314#true} #95#return; {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:37,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {6319#(<= 5 ~n~0)} call #t~ret10 := main(); {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:37,019 INFO L290 TraceCheckUtils]: 5: Hoare triple {6319#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:37,019 INFO L290 TraceCheckUtils]: 6: Hoare triple {6319#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:37,019 INFO L290 TraceCheckUtils]: 7: Hoare triple {6319#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:37,020 INFO L290 TraceCheckUtils]: 8: Hoare triple {6319#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:37,020 INFO L290 TraceCheckUtils]: 9: Hoare triple {6319#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:37,020 INFO L290 TraceCheckUtils]: 10: Hoare triple {6319#(<= 5 ~n~0)} assume !(~i~1 >= 0); {6319#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:37,021 INFO L272 TraceCheckUtils]: 11: Hoare triple {6319#(<= 5 ~n~0)} call SelectionSort(); {6351#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:37,021 INFO L290 TraceCheckUtils]: 12: Hoare triple {6351#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,021 INFO L290 TraceCheckUtils]: 13: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,021 INFO L290 TraceCheckUtils]: 14: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,022 INFO L290 TraceCheckUtils]: 15: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,022 INFO L290 TraceCheckUtils]: 16: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,022 INFO L290 TraceCheckUtils]: 17: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,022 INFO L290 TraceCheckUtils]: 18: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,023 INFO L290 TraceCheckUtils]: 20: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,023 INFO L290 TraceCheckUtils]: 21: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,024 INFO L290 TraceCheckUtils]: 22: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,024 INFO L290 TraceCheckUtils]: 23: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,024 INFO L290 TraceCheckUtils]: 24: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,024 INFO L290 TraceCheckUtils]: 25: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,025 INFO L290 TraceCheckUtils]: 26: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,025 INFO L290 TraceCheckUtils]: 27: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6352#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:37,025 INFO L290 TraceCheckUtils]: 28: Hoare triple {6352#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6353#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:37,026 INFO L290 TraceCheckUtils]: 29: Hoare triple {6353#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:37,026 INFO L290 TraceCheckUtils]: 30: Hoare triple {6354#(<= SelectionSort_~i~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:37,026 INFO L290 TraceCheckUtils]: 31: Hoare triple {6354#(<= SelectionSort_~i~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6354#(<= SelectionSort_~i~0 2)} is VALID [2022-04-28 09:00:37,027 INFO L290 TraceCheckUtils]: 32: Hoare triple {6354#(<= SelectionSort_~i~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:37,027 INFO L290 TraceCheckUtils]: 33: Hoare triple {6355#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:37,027 INFO L290 TraceCheckUtils]: 34: Hoare triple {6355#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6355#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:37,028 INFO L290 TraceCheckUtils]: 35: Hoare triple {6355#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6356#(<= SelectionSort_~i~0 4)} is VALID [2022-04-28 09:00:37,028 INFO L290 TraceCheckUtils]: 36: Hoare triple {6356#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-28 09:00:37,028 INFO L290 TraceCheckUtils]: 37: Hoare triple {6357#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6357#(<= ~n~0 4)} is VALID [2022-04-28 09:00:37,029 INFO L290 TraceCheckUtils]: 38: Hoare triple {6357#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6357#(<= ~n~0 4)} is VALID [2022-04-28 09:00:37,029 INFO L290 TraceCheckUtils]: 39: Hoare triple {6357#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-28 09:00:37,029 INFO L290 TraceCheckUtils]: 40: Hoare triple {6357#(<= ~n~0 4)} assume true; {6357#(<= ~n~0 4)} is VALID [2022-04-28 09:00:37,030 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6357#(<= ~n~0 4)} {6319#(<= 5 ~n~0)} #91#return; {6315#false} is VALID [2022-04-28 09:00:37,030 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-28 09:00:37,030 INFO L290 TraceCheckUtils]: 43: Hoare triple {6315#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6315#false} is VALID [2022-04-28 09:00:37,030 INFO L272 TraceCheckUtils]: 44: Hoare triple {6315#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {6315#false} is VALID [2022-04-28 09:00:37,030 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-28 09:00:37,030 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-28 09:00:37,030 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-28 09:00:37,030 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 0 proven. 41 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 09:00:37,030 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:37,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2055146131] [2022-04-28 09:00:37,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2055146131] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:37,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1641058448] [2022-04-28 09:00:37,031 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:00:37,031 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:37,031 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:37,032 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:37,034 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 09:00:37,087 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:00:37,087 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:37,088 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 09:00:37,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:37,100 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:37,367 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6314#true} is VALID [2022-04-28 09:00:37,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {6314#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {6314#true} is VALID [2022-04-28 09:00:37,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {6314#true} assume true; {6314#true} is VALID [2022-04-28 09:00:37,368 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6314#true} {6314#true} #95#return; {6314#true} is VALID [2022-04-28 09:00:37,368 INFO L272 TraceCheckUtils]: 4: Hoare triple {6314#true} call #t~ret10 := main(); {6314#true} is VALID [2022-04-28 09:00:37,368 INFO L290 TraceCheckUtils]: 5: Hoare triple {6314#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {6314#true} is VALID [2022-04-28 09:00:37,368 INFO L290 TraceCheckUtils]: 6: Hoare triple {6314#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6314#true} is VALID [2022-04-28 09:00:37,368 INFO L290 TraceCheckUtils]: 7: Hoare triple {6314#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6314#true} is VALID [2022-04-28 09:00:37,368 INFO L290 TraceCheckUtils]: 8: Hoare triple {6314#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6314#true} is VALID [2022-04-28 09:00:37,368 INFO L290 TraceCheckUtils]: 9: Hoare triple {6314#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6314#true} is VALID [2022-04-28 09:00:37,368 INFO L290 TraceCheckUtils]: 10: Hoare triple {6314#true} assume !(~i~1 >= 0); {6314#true} is VALID [2022-04-28 09:00:37,371 INFO L272 TraceCheckUtils]: 11: Hoare triple {6314#true} call SelectionSort(); {6314#true} is VALID [2022-04-28 09:00:37,371 INFO L290 TraceCheckUtils]: 12: Hoare triple {6314#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {6314#true} is VALID [2022-04-28 09:00:37,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {6314#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,373 INFO L290 TraceCheckUtils]: 14: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,373 INFO L290 TraceCheckUtils]: 15: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,373 INFO L290 TraceCheckUtils]: 16: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,374 INFO L290 TraceCheckUtils]: 17: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,374 INFO L290 TraceCheckUtils]: 18: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,374 INFO L290 TraceCheckUtils]: 19: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,375 INFO L290 TraceCheckUtils]: 20: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,375 INFO L290 TraceCheckUtils]: 21: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,375 INFO L290 TraceCheckUtils]: 22: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6430#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,376 INFO L290 TraceCheckUtils]: 23: Hoare triple {6430#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:37,376 INFO L290 TraceCheckUtils]: 24: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:37,377 INFO L290 TraceCheckUtils]: 25: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:37,377 INFO L290 TraceCheckUtils]: 26: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:37,377 INFO L290 TraceCheckUtils]: 27: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:37,378 INFO L290 TraceCheckUtils]: 28: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6450#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:37,378 INFO L290 TraceCheckUtils]: 29: Hoare triple {6450#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-28 09:00:37,378 INFO L290 TraceCheckUtils]: 30: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-28 09:00:37,379 INFO L290 TraceCheckUtils]: 31: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-28 09:00:37,379 INFO L290 TraceCheckUtils]: 32: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:37,379 INFO L290 TraceCheckUtils]: 33: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:37,379 INFO L290 TraceCheckUtils]: 34: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:37,380 INFO L290 TraceCheckUtils]: 35: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6474#(< SelectionSort_~i~0 ~n~0)} is VALID [2022-04-28 09:00:37,380 INFO L290 TraceCheckUtils]: 36: Hoare triple {6474#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L290 TraceCheckUtils]: 37: Hoare triple {6315#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L290 TraceCheckUtils]: 38: Hoare triple {6315#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L290 TraceCheckUtils]: 39: Hoare triple {6315#false} assume !(~lh~0 < ~n~0); {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L290 TraceCheckUtils]: 40: Hoare triple {6315#false} assume true; {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6315#false} {6314#true} #91#return; {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L290 TraceCheckUtils]: 43: Hoare triple {6315#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L272 TraceCheckUtils]: 44: Hoare triple {6315#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-28 09:00:37,381 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-28 09:00:37,382 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 17 proven. 46 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 09:00:37,382 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:37,582 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-28 09:00:37,582 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-28 09:00:37,582 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-28 09:00:37,582 INFO L272 TraceCheckUtils]: 44: Hoare triple {6315#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {6315#false} is VALID [2022-04-28 09:00:37,582 INFO L290 TraceCheckUtils]: 43: Hoare triple {6315#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6315#false} is VALID [2022-04-28 09:00:37,582 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-28 09:00:37,582 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6315#false} {6314#true} #91#return; {6315#false} is VALID [2022-04-28 09:00:37,582 INFO L290 TraceCheckUtils]: 40: Hoare triple {6315#false} assume true; {6315#false} is VALID [2022-04-28 09:00:37,582 INFO L290 TraceCheckUtils]: 39: Hoare triple {6315#false} assume !(~lh~0 < ~n~0); {6315#false} is VALID [2022-04-28 09:00:37,582 INFO L290 TraceCheckUtils]: 38: Hoare triple {6315#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6315#false} is VALID [2022-04-28 09:00:37,582 INFO L290 TraceCheckUtils]: 37: Hoare triple {6315#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6315#false} is VALID [2022-04-28 09:00:37,583 INFO L290 TraceCheckUtils]: 36: Hoare triple {6474#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {6315#false} is VALID [2022-04-28 09:00:37,583 INFO L290 TraceCheckUtils]: 35: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6474#(< SelectionSort_~i~0 ~n~0)} is VALID [2022-04-28 09:00:37,584 INFO L290 TraceCheckUtils]: 34: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:37,584 INFO L290 TraceCheckUtils]: 33: Hoare triple {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:37,584 INFO L290 TraceCheckUtils]: 32: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6464#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:37,585 INFO L290 TraceCheckUtils]: 31: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-28 09:00:37,585 INFO L290 TraceCheckUtils]: 30: Hoare triple {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-28 09:00:37,585 INFO L290 TraceCheckUtils]: 29: Hoare triple {6450#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6454#(< (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-28 09:00:37,586 INFO L290 TraceCheckUtils]: 28: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {6450#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:37,586 INFO L290 TraceCheckUtils]: 27: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:37,586 INFO L290 TraceCheckUtils]: 26: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:37,587 INFO L290 TraceCheckUtils]: 25: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:37,587 INFO L290 TraceCheckUtils]: 24: Hoare triple {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:37,588 INFO L290 TraceCheckUtils]: 23: Hoare triple {6430#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6434#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:37,588 INFO L290 TraceCheckUtils]: 22: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6430#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,588 INFO L290 TraceCheckUtils]: 21: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,589 INFO L290 TraceCheckUtils]: 20: Hoare triple {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,589 INFO L290 TraceCheckUtils]: 19: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6420#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,589 INFO L290 TraceCheckUtils]: 18: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,590 INFO L290 TraceCheckUtils]: 17: Hoare triple {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,590 INFO L290 TraceCheckUtils]: 16: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {6410#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,590 INFO L290 TraceCheckUtils]: 15: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,591 INFO L290 TraceCheckUtils]: 14: Hoare triple {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,591 INFO L290 TraceCheckUtils]: 13: Hoare triple {6314#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {6400#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:37,591 INFO L290 TraceCheckUtils]: 12: Hoare triple {6314#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {6314#true} is VALID [2022-04-28 09:00:37,591 INFO L272 TraceCheckUtils]: 11: Hoare triple {6314#true} call SelectionSort(); {6314#true} is VALID [2022-04-28 09:00:37,591 INFO L290 TraceCheckUtils]: 10: Hoare triple {6314#true} assume !(~i~1 >= 0); {6314#true} is VALID [2022-04-28 09:00:37,591 INFO L290 TraceCheckUtils]: 9: Hoare triple {6314#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6314#true} is VALID [2022-04-28 09:00:37,591 INFO L290 TraceCheckUtils]: 8: Hoare triple {6314#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6314#true} is VALID [2022-04-28 09:00:37,592 INFO L290 TraceCheckUtils]: 7: Hoare triple {6314#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {6314#true} is VALID [2022-04-28 09:00:37,592 INFO L290 TraceCheckUtils]: 6: Hoare triple {6314#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {6314#true} is VALID [2022-04-28 09:00:37,592 INFO L290 TraceCheckUtils]: 5: Hoare triple {6314#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {6314#true} is VALID [2022-04-28 09:00:37,592 INFO L272 TraceCheckUtils]: 4: Hoare triple {6314#true} call #t~ret10 := main(); {6314#true} is VALID [2022-04-28 09:00:37,592 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6314#true} {6314#true} #95#return; {6314#true} is VALID [2022-04-28 09:00:37,592 INFO L290 TraceCheckUtils]: 2: Hoare triple {6314#true} assume true; {6314#true} is VALID [2022-04-28 09:00:37,592 INFO L290 TraceCheckUtils]: 1: Hoare triple {6314#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {6314#true} is VALID [2022-04-28 09:00:37,592 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6314#true} is VALID [2022-04-28 09:00:37,592 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 17 proven. 46 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 09:00:37,592 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1641058448] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:37,592 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:37,593 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-28 09:00:37,593 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:37,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [372094650] [2022-04-28 09:00:37,593 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [372094650] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:37,593 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:37,593 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 09:00:37,593 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1968559356] [2022-04-28 09:00:37,593 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:37,593 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 48 [2022-04-28 09:00:37,594 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:37,594 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:37,635 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:37,635 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 09:00:37,635 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:37,636 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 09:00:37,636 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2022-04-28 09:00:37,636 INFO L87 Difference]: Start difference. First operand 57 states and 68 transitions. Second operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:38,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:38,359 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-28 09:00:38,359 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 09:00:38,360 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 48 [2022-04-28 09:00:38,360 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:38,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:38,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 97 transitions. [2022-04-28 09:00:38,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:38,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 97 transitions. [2022-04-28 09:00:38,363 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 97 transitions. [2022-04-28 09:00:38,441 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:38,442 INFO L225 Difference]: With dead ends: 90 [2022-04-28 09:00:38,442 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 09:00:38,443 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 119 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 160 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=211, Invalid=845, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 09:00:38,443 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 180 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 193 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 180 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 193 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:38,443 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [180 Valid, 31 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 193 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 09:00:38,444 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 09:00:38,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 60. [2022-04-28 09:00:38,570 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:38,570 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:38,571 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:38,571 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:38,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:38,572 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-28 09:00:38,572 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-28 09:00:38,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:38,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:38,572 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 67 states. [2022-04-28 09:00:38,572 INFO L87 Difference]: Start difference. First operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 67 states. [2022-04-28 09:00:38,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:38,573 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-28 09:00:38,573 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-28 09:00:38,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:38,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:38,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:38,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:38,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:38,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2022-04-28 09:00:38,574 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 48 [2022-04-28 09:00:38,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:38,575 INFO L495 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2022-04-28 09:00:38,575 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.1) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:38,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 72 transitions. [2022-04-28 09:00:38,682 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:38,682 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-28 09:00:38,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 09:00:38,682 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:38,682 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 7, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:38,700 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:38,883 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 09:00:38,883 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:38,883 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:38,883 INFO L85 PathProgramCache]: Analyzing trace with hash 670604008, now seen corresponding path program 17 times [2022-04-28 09:00:38,883 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:38,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1980589999] [2022-04-28 09:00:38,885 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:38,885 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:38,885 INFO L85 PathProgramCache]: Analyzing trace with hash 670604008, now seen corresponding path program 18 times [2022-04-28 09:00:38,886 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:38,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [833875932] [2022-04-28 09:00:38,886 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:38,886 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:38,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:38,933 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:38,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:38,947 INFO L290 TraceCheckUtils]: 0: Hoare triple {7153#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:38,961 INFO L290 TraceCheckUtils]: 1: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:38,962 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:38,965 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:38,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:39,003 INFO L290 TraceCheckUtils]: 0: Hoare triple {7154#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,004 INFO L290 TraceCheckUtils]: 2: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,004 INFO L290 TraceCheckUtils]: 3: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,005 INFO L290 TraceCheckUtils]: 4: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,005 INFO L290 TraceCheckUtils]: 5: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,005 INFO L290 TraceCheckUtils]: 6: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,005 INFO L290 TraceCheckUtils]: 7: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,006 INFO L290 TraceCheckUtils]: 8: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,006 INFO L290 TraceCheckUtils]: 9: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,006 INFO L290 TraceCheckUtils]: 10: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,006 INFO L290 TraceCheckUtils]: 11: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,007 INFO L290 TraceCheckUtils]: 12: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,007 INFO L290 TraceCheckUtils]: 13: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,007 INFO L290 TraceCheckUtils]: 14: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,007 INFO L290 TraceCheckUtils]: 15: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,008 INFO L290 TraceCheckUtils]: 16: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,008 INFO L290 TraceCheckUtils]: 17: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,008 INFO L290 TraceCheckUtils]: 18: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,009 INFO L290 TraceCheckUtils]: 19: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,009 INFO L290 TraceCheckUtils]: 20: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,009 INFO L290 TraceCheckUtils]: 21: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,009 INFO L290 TraceCheckUtils]: 22: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,010 INFO L290 TraceCheckUtils]: 23: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,010 INFO L290 TraceCheckUtils]: 26: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,011 INFO L290 TraceCheckUtils]: 27: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,011 INFO L290 TraceCheckUtils]: 28: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,011 INFO L290 TraceCheckUtils]: 29: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7157#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:39,012 INFO L290 TraceCheckUtils]: 30: Hoare triple {7157#(<= SelectionSort_~lh~0 2)} assume !(~lh~0 < ~n~0); {7158#(<= ~n~0 2)} is VALID [2022-04-28 09:00:39,012 INFO L290 TraceCheckUtils]: 31: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-28 09:00:39,012 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7158#(<= ~n~0 2)} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-28 09:00:39,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7153#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:39,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {7153#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,015 INFO L272 TraceCheckUtils]: 4: Hoare triple {7119#(<= 5 ~n~0)} call #t~ret10 := main(); {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,015 INFO L290 TraceCheckUtils]: 5: Hoare triple {7119#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,015 INFO L290 TraceCheckUtils]: 6: Hoare triple {7119#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,015 INFO L290 TraceCheckUtils]: 7: Hoare triple {7119#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,016 INFO L290 TraceCheckUtils]: 8: Hoare triple {7119#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,016 INFO L290 TraceCheckUtils]: 9: Hoare triple {7119#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,016 INFO L290 TraceCheckUtils]: 10: Hoare triple {7119#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,017 INFO L272 TraceCheckUtils]: 11: Hoare triple {7119#(<= 5 ~n~0)} call SelectionSort(); {7154#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:39,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {7154#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,017 INFO L290 TraceCheckUtils]: 13: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,018 INFO L290 TraceCheckUtils]: 15: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,018 INFO L290 TraceCheckUtils]: 16: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,019 INFO L290 TraceCheckUtils]: 19: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,019 INFO L290 TraceCheckUtils]: 20: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,019 INFO L290 TraceCheckUtils]: 21: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,020 INFO L290 TraceCheckUtils]: 22: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,020 INFO L290 TraceCheckUtils]: 23: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,020 INFO L290 TraceCheckUtils]: 24: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,020 INFO L290 TraceCheckUtils]: 25: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,021 INFO L290 TraceCheckUtils]: 26: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,021 INFO L290 TraceCheckUtils]: 27: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7155#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:39,021 INFO L290 TraceCheckUtils]: 28: Hoare triple {7155#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,022 INFO L290 TraceCheckUtils]: 29: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,022 INFO L290 TraceCheckUtils]: 31: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,023 INFO L290 TraceCheckUtils]: 35: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,024 INFO L290 TraceCheckUtils]: 36: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,024 INFO L290 TraceCheckUtils]: 37: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,024 INFO L290 TraceCheckUtils]: 38: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,025 INFO L290 TraceCheckUtils]: 39: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,025 INFO L290 TraceCheckUtils]: 40: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7156#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:39,025 INFO L290 TraceCheckUtils]: 41: Hoare triple {7156#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7157#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:39,026 INFO L290 TraceCheckUtils]: 42: Hoare triple {7157#(<= SelectionSort_~lh~0 2)} assume !(~lh~0 < ~n~0); {7158#(<= ~n~0 2)} is VALID [2022-04-28 09:00:39,026 INFO L290 TraceCheckUtils]: 43: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-28 09:00:39,026 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7158#(<= ~n~0 2)} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-28 09:00:39,026 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-28 09:00:39,026 INFO L290 TraceCheckUtils]: 46: Hoare triple {7115#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7115#false} is VALID [2022-04-28 09:00:39,027 INFO L272 TraceCheckUtils]: 47: Hoare triple {7115#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7115#false} is VALID [2022-04-28 09:00:39,027 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-28 09:00:39,027 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-28 09:00:39,027 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-28 09:00:39,027 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 09:00:39,027 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:39,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [833875932] [2022-04-28 09:00:39,027 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [833875932] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:39,027 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [952824144] [2022-04-28 09:00:39,027 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 09:00:39,027 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:39,028 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:39,028 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:39,029 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 09:00:39,091 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 09:00:39,092 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:39,092 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 09:00:39,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:39,105 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:39,374 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7114#true} is VALID [2022-04-28 09:00:39,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {7114#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,376 INFO L272 TraceCheckUtils]: 4: Hoare triple {7119#(<= 5 ~n~0)} call #t~ret10 := main(); {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {7119#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,376 INFO L290 TraceCheckUtils]: 6: Hoare triple {7119#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {7119#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,377 INFO L290 TraceCheckUtils]: 8: Hoare triple {7119#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,377 INFO L290 TraceCheckUtils]: 9: Hoare triple {7119#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,378 INFO L290 TraceCheckUtils]: 10: Hoare triple {7119#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,378 INFO L272 TraceCheckUtils]: 11: Hoare triple {7119#(<= 5 ~n~0)} call SelectionSort(); {7119#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:39,378 INFO L290 TraceCheckUtils]: 12: Hoare triple {7119#(<= 5 ~n~0)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,379 INFO L290 TraceCheckUtils]: 13: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,379 INFO L290 TraceCheckUtils]: 14: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,379 INFO L290 TraceCheckUtils]: 15: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,380 INFO L290 TraceCheckUtils]: 16: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,380 INFO L290 TraceCheckUtils]: 17: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,380 INFO L290 TraceCheckUtils]: 18: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,381 INFO L290 TraceCheckUtils]: 19: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,381 INFO L290 TraceCheckUtils]: 21: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,382 INFO L290 TraceCheckUtils]: 22: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,382 INFO L290 TraceCheckUtils]: 23: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,382 INFO L290 TraceCheckUtils]: 24: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,383 INFO L290 TraceCheckUtils]: 25: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,383 INFO L290 TraceCheckUtils]: 26: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} assume !(~i~0 < ~n~0); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} is VALID [2022-04-28 09:00:39,384 INFO L290 TraceCheckUtils]: 28: Hoare triple {7198#(and (<= SelectionSort_~lh~0 0) (<= 5 ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,384 INFO L290 TraceCheckUtils]: 29: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,385 INFO L290 TraceCheckUtils]: 30: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,385 INFO L290 TraceCheckUtils]: 31: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,385 INFO L290 TraceCheckUtils]: 32: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,386 INFO L290 TraceCheckUtils]: 33: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,386 INFO L290 TraceCheckUtils]: 34: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,386 INFO L290 TraceCheckUtils]: 35: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,387 INFO L290 TraceCheckUtils]: 36: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,387 INFO L290 TraceCheckUtils]: 37: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,388 INFO L290 TraceCheckUtils]: 38: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,388 INFO L290 TraceCheckUtils]: 39: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} assume !(~i~0 < ~n~0); {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,388 INFO L290 TraceCheckUtils]: 40: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} is VALID [2022-04-28 09:00:39,389 INFO L290 TraceCheckUtils]: 41: Hoare triple {7247#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 1))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7287#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 2))} is VALID [2022-04-28 09:00:39,389 INFO L290 TraceCheckUtils]: 42: Hoare triple {7287#(and (<= 5 ~n~0) (<= SelectionSort_~lh~0 2))} assume !(~lh~0 < ~n~0); {7115#false} is VALID [2022-04-28 09:00:39,389 INFO L290 TraceCheckUtils]: 43: Hoare triple {7115#false} assume true; {7115#false} is VALID [2022-04-28 09:00:39,389 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7115#false} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-28 09:00:39,389 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-28 09:00:39,389 INFO L290 TraceCheckUtils]: 46: Hoare triple {7115#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7115#false} is VALID [2022-04-28 09:00:39,389 INFO L272 TraceCheckUtils]: 47: Hoare triple {7115#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7115#false} is VALID [2022-04-28 09:00:39,390 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-28 09:00:39,390 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-28 09:00:39,390 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-28 09:00:39,390 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 09:00:39,390 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:39,842 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-28 09:00:39,842 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-28 09:00:39,842 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-28 09:00:39,843 INFO L272 TraceCheckUtils]: 47: Hoare triple {7115#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7115#false} is VALID [2022-04-28 09:00:39,843 INFO L290 TraceCheckUtils]: 46: Hoare triple {7115#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7115#false} is VALID [2022-04-28 09:00:39,843 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-28 09:00:39,843 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7158#(<= ~n~0 2)} {7333#(< 2 ~n~0)} #91#return; {7115#false} is VALID [2022-04-28 09:00:39,843 INFO L290 TraceCheckUtils]: 43: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-28 09:00:39,844 INFO L290 TraceCheckUtils]: 42: Hoare triple {7343#(or (<= ~n~0 2) (< SelectionSort_~lh~0 ~n~0))} assume !(~lh~0 < ~n~0); {7158#(<= ~n~0 2)} is VALID [2022-04-28 09:00:39,844 INFO L290 TraceCheckUtils]: 41: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7343#(or (<= ~n~0 2) (< SelectionSort_~lh~0 ~n~0))} is VALID [2022-04-28 09:00:39,844 INFO L290 TraceCheckUtils]: 40: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,845 INFO L290 TraceCheckUtils]: 39: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !(~i~0 < ~n~0); {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,845 INFO L290 TraceCheckUtils]: 38: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,845 INFO L290 TraceCheckUtils]: 37: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,845 INFO L290 TraceCheckUtils]: 36: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,846 INFO L290 TraceCheckUtils]: 35: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,846 INFO L290 TraceCheckUtils]: 34: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,846 INFO L290 TraceCheckUtils]: 33: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,847 INFO L290 TraceCheckUtils]: 32: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,847 INFO L290 TraceCheckUtils]: 30: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,847 INFO L290 TraceCheckUtils]: 29: Hoare triple {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,848 INFO L290 TraceCheckUtils]: 28: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7347#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (<= ~n~0 2))} is VALID [2022-04-28 09:00:39,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,849 INFO L290 TraceCheckUtils]: 26: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !(~i~0 < ~n~0); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,849 INFO L290 TraceCheckUtils]: 25: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,849 INFO L290 TraceCheckUtils]: 24: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,850 INFO L290 TraceCheckUtils]: 23: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,850 INFO L290 TraceCheckUtils]: 22: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,850 INFO L290 TraceCheckUtils]: 21: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,851 INFO L290 TraceCheckUtils]: 20: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,851 INFO L290 TraceCheckUtils]: 19: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,851 INFO L290 TraceCheckUtils]: 18: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,852 INFO L290 TraceCheckUtils]: 17: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,852 INFO L290 TraceCheckUtils]: 16: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,852 INFO L290 TraceCheckUtils]: 15: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,853 INFO L290 TraceCheckUtils]: 14: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,853 INFO L290 TraceCheckUtils]: 13: Hoare triple {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,853 INFO L290 TraceCheckUtils]: 12: Hoare triple {7114#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7387#(or (<= ~n~0 2) (< (+ SelectionSort_~lh~0 2) ~n~0))} is VALID [2022-04-28 09:00:39,853 INFO L272 TraceCheckUtils]: 11: Hoare triple {7333#(< 2 ~n~0)} call SelectionSort(); {7114#true} is VALID [2022-04-28 09:00:39,854 INFO L290 TraceCheckUtils]: 10: Hoare triple {7333#(< 2 ~n~0)} assume !(~i~1 >= 0); {7333#(< 2 ~n~0)} is VALID [2022-04-28 09:00:39,854 INFO L290 TraceCheckUtils]: 9: Hoare triple {7333#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7333#(< 2 ~n~0)} is VALID [2022-04-28 09:00:39,854 INFO L290 TraceCheckUtils]: 8: Hoare triple {7333#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7333#(< 2 ~n~0)} is VALID [2022-04-28 09:00:39,854 INFO L290 TraceCheckUtils]: 7: Hoare triple {7333#(< 2 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7333#(< 2 ~n~0)} is VALID [2022-04-28 09:00:39,855 INFO L290 TraceCheckUtils]: 6: Hoare triple {7333#(< 2 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7333#(< 2 ~n~0)} is VALID [2022-04-28 09:00:39,855 INFO L290 TraceCheckUtils]: 5: Hoare triple {7333#(< 2 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {7333#(< 2 ~n~0)} is VALID [2022-04-28 09:00:39,855 INFO L272 TraceCheckUtils]: 4: Hoare triple {7333#(< 2 ~n~0)} call #t~ret10 := main(); {7333#(< 2 ~n~0)} is VALID [2022-04-28 09:00:39,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7333#(< 2 ~n~0)} {7114#true} #95#return; {7333#(< 2 ~n~0)} is VALID [2022-04-28 09:00:39,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {7333#(< 2 ~n~0)} assume true; {7333#(< 2 ~n~0)} is VALID [2022-04-28 09:00:39,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {7114#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7333#(< 2 ~n~0)} is VALID [2022-04-28 09:00:39,857 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7114#true} is VALID [2022-04-28 09:00:39,857 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 09:00:39,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [952824144] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:39,858 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:39,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 7] total 16 [2022-04-28 09:00:39,858 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:39,858 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1980589999] [2022-04-28 09:00:39,858 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1980589999] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:39,858 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:39,858 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 09:00:39,858 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [927326814] [2022-04-28 09:00:39,859 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:39,859 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 51 [2022-04-28 09:00:39,859 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:39,859 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:39,881 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:39,881 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 09:00:39,881 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:39,881 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 09:00:39,881 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=171, Unknown=0, NotChecked=0, Total=240 [2022-04-28 09:00:39,882 INFO L87 Difference]: Start difference. First operand 60 states and 72 transitions. Second operand has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:40,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:40,375 INFO L93 Difference]: Finished difference Result 87 states and 105 transitions. [2022-04-28 09:00:40,375 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 09:00:40,376 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 51 [2022-04-28 09:00:40,376 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:40,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:40,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-28 09:00:40,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:40,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-28 09:00:40,377 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 72 transitions. [2022-04-28 09:00:40,434 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:40,435 INFO L225 Difference]: With dead ends: 87 [2022-04-28 09:00:40,435 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 09:00:40,436 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 118 GetRequests, 95 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=156, Invalid=396, Unknown=0, NotChecked=0, Total=552 [2022-04-28 09:00:40,436 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 118 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 118 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 180 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 155 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:40,436 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [118 Valid, 31 Invalid, 180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 155 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 09:00:40,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 09:00:40,555 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 66. [2022-04-28 09:00:40,555 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:40,556 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:40,556 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:40,556 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:40,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:40,557 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-28 09:00:40,557 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-28 09:00:40,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:40,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:40,557 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 74 states. [2022-04-28 09:00:40,557 INFO L87 Difference]: Start difference. First operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 74 states. [2022-04-28 09:00:40,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:40,558 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-28 09:00:40,558 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-28 09:00:40,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:40,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:40,559 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:40,559 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:40,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 58 states have (on average 1.2586206896551724) internal successors, (73), 58 states have internal predecessors, (73), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:40,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 80 transitions. [2022-04-28 09:00:40,560 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 80 transitions. Word has length 51 [2022-04-28 09:00:40,560 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:40,560 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 80 transitions. [2022-04-28 09:00:40,560 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.5) internal successors, (28), 6 states have internal predecessors, (28), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:40,560 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 80 transitions. [2022-04-28 09:00:40,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:40,659 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-28 09:00:40,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 09:00:40,659 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:40,659 INFO L195 NwaCegarLoop]: trace histogram [7, 7, 7, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:40,678 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:40,870 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 09:00:40,871 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:40,871 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:40,871 INFO L85 PathProgramCache]: Analyzing trace with hash -862659328, now seen corresponding path program 19 times [2022-04-28 09:00:40,871 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:40,871 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [116100280] [2022-04-28 09:00:40,873 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:40,873 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:40,873 INFO L85 PathProgramCache]: Analyzing trace with hash -862659328, now seen corresponding path program 20 times [2022-04-28 09:00:40,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:40,873 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1818438999] [2022-04-28 09:00:40,873 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:40,873 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:40,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:40,930 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:40,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:40,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {7984#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:40,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {7946#(<= 5 ~n~0)} assume true; {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:40,936 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7946#(<= 5 ~n~0)} {7941#true} #95#return; {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:40,939 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:40,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:40,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {7985#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,984 INFO L290 TraceCheckUtils]: 3: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,984 INFO L290 TraceCheckUtils]: 4: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,985 INFO L290 TraceCheckUtils]: 6: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,985 INFO L290 TraceCheckUtils]: 7: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,985 INFO L290 TraceCheckUtils]: 8: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,986 INFO L290 TraceCheckUtils]: 9: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,986 INFO L290 TraceCheckUtils]: 10: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,986 INFO L290 TraceCheckUtils]: 11: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,986 INFO L290 TraceCheckUtils]: 12: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,987 INFO L290 TraceCheckUtils]: 13: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,987 INFO L290 TraceCheckUtils]: 14: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,987 INFO L290 TraceCheckUtils]: 15: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:40,988 INFO L290 TraceCheckUtils]: 16: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,988 INFO L290 TraceCheckUtils]: 17: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,988 INFO L290 TraceCheckUtils]: 18: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,988 INFO L290 TraceCheckUtils]: 19: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,989 INFO L290 TraceCheckUtils]: 20: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,989 INFO L290 TraceCheckUtils]: 21: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,989 INFO L290 TraceCheckUtils]: 22: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,989 INFO L290 TraceCheckUtils]: 23: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,990 INFO L290 TraceCheckUtils]: 24: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,990 INFO L290 TraceCheckUtils]: 25: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,990 INFO L290 TraceCheckUtils]: 26: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,990 INFO L290 TraceCheckUtils]: 27: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,991 INFO L290 TraceCheckUtils]: 28: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:40,991 INFO L290 TraceCheckUtils]: 29: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7988#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:40,991 INFO L290 TraceCheckUtils]: 30: Hoare triple {7988#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7989#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:40,992 INFO L290 TraceCheckUtils]: 31: Hoare triple {7989#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-28 09:00:40,992 INFO L290 TraceCheckUtils]: 32: Hoare triple {7990#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7990#(<= ~n~0 3)} is VALID [2022-04-28 09:00:40,992 INFO L290 TraceCheckUtils]: 33: Hoare triple {7990#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7990#(<= ~n~0 3)} is VALID [2022-04-28 09:00:40,993 INFO L290 TraceCheckUtils]: 34: Hoare triple {7990#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-28 09:00:40,993 INFO L290 TraceCheckUtils]: 35: Hoare triple {7990#(<= ~n~0 3)} assume true; {7990#(<= ~n~0 3)} is VALID [2022-04-28 09:00:41,004 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7990#(<= ~n~0 3)} {7946#(<= 5 ~n~0)} #91#return; {7942#false} is VALID [2022-04-28 09:00:41,005 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7984#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:41,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {7984#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:41,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {7946#(<= 5 ~n~0)} assume true; {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:41,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7946#(<= 5 ~n~0)} {7941#true} #95#return; {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:41,006 INFO L272 TraceCheckUtils]: 4: Hoare triple {7946#(<= 5 ~n~0)} call #t~ret10 := main(); {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:41,006 INFO L290 TraceCheckUtils]: 5: Hoare triple {7946#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:41,007 INFO L290 TraceCheckUtils]: 6: Hoare triple {7946#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:41,007 INFO L290 TraceCheckUtils]: 7: Hoare triple {7946#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:41,007 INFO L290 TraceCheckUtils]: 8: Hoare triple {7946#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:41,007 INFO L290 TraceCheckUtils]: 9: Hoare triple {7946#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:41,008 INFO L290 TraceCheckUtils]: 10: Hoare triple {7946#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7946#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:41,008 INFO L272 TraceCheckUtils]: 11: Hoare triple {7946#(<= 5 ~n~0)} call SelectionSort(); {7985#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:41,008 INFO L290 TraceCheckUtils]: 12: Hoare triple {7985#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,009 INFO L290 TraceCheckUtils]: 13: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,009 INFO L290 TraceCheckUtils]: 14: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,009 INFO L290 TraceCheckUtils]: 16: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,010 INFO L290 TraceCheckUtils]: 17: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,010 INFO L290 TraceCheckUtils]: 19: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,011 INFO L290 TraceCheckUtils]: 21: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,011 INFO L290 TraceCheckUtils]: 22: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,011 INFO L290 TraceCheckUtils]: 23: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,011 INFO L290 TraceCheckUtils]: 24: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,012 INFO L290 TraceCheckUtils]: 26: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,012 INFO L290 TraceCheckUtils]: 27: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7986#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:41,013 INFO L290 TraceCheckUtils]: 28: Hoare triple {7986#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,013 INFO L290 TraceCheckUtils]: 29: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,013 INFO L290 TraceCheckUtils]: 30: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,013 INFO L290 TraceCheckUtils]: 31: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,014 INFO L290 TraceCheckUtils]: 32: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,014 INFO L290 TraceCheckUtils]: 33: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,014 INFO L290 TraceCheckUtils]: 34: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,014 INFO L290 TraceCheckUtils]: 35: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,015 INFO L290 TraceCheckUtils]: 36: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,015 INFO L290 TraceCheckUtils]: 37: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,015 INFO L290 TraceCheckUtils]: 38: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,016 INFO L290 TraceCheckUtils]: 39: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,016 INFO L290 TraceCheckUtils]: 40: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7987#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:41,016 INFO L290 TraceCheckUtils]: 41: Hoare triple {7987#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7988#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:41,017 INFO L290 TraceCheckUtils]: 42: Hoare triple {7988#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7989#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:41,017 INFO L290 TraceCheckUtils]: 43: Hoare triple {7989#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-28 09:00:41,017 INFO L290 TraceCheckUtils]: 44: Hoare triple {7990#(<= ~n~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7990#(<= ~n~0 3)} is VALID [2022-04-28 09:00:41,018 INFO L290 TraceCheckUtils]: 45: Hoare triple {7990#(<= ~n~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7990#(<= ~n~0 3)} is VALID [2022-04-28 09:00:41,018 INFO L290 TraceCheckUtils]: 46: Hoare triple {7990#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-28 09:00:41,018 INFO L290 TraceCheckUtils]: 47: Hoare triple {7990#(<= ~n~0 3)} assume true; {7990#(<= ~n~0 3)} is VALID [2022-04-28 09:00:41,019 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7990#(<= ~n~0 3)} {7946#(<= 5 ~n~0)} #91#return; {7942#false} is VALID [2022-04-28 09:00:41,019 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-28 09:00:41,019 INFO L290 TraceCheckUtils]: 50: Hoare triple {7942#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7942#false} is VALID [2022-04-28 09:00:41,019 INFO L272 TraceCheckUtils]: 51: Hoare triple {7942#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7942#false} is VALID [2022-04-28 09:00:41,019 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-28 09:00:41,019 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-28 09:00:41,019 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-28 09:00:41,019 INFO L134 CoverageAnalysis]: Checked inductivity of 103 backedges. 0 proven. 65 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 09:00:41,019 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:41,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1818438999] [2022-04-28 09:00:41,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1818438999] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:41,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1759635740] [2022-04-28 09:00:41,020 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:00:41,020 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:41,020 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:41,021 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:41,022 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 09:00:41,114 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:00:41,114 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:41,115 INFO L263 TraceCheckSpWp]: Trace formula consists of 240 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 09:00:41,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:41,129 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:41,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7941#true} is VALID [2022-04-28 09:00:41,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {7941#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7941#true} is VALID [2022-04-28 09:00:41,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-28 09:00:41,271 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7941#true} {7941#true} #95#return; {7941#true} is VALID [2022-04-28 09:00:41,272 INFO L272 TraceCheckUtils]: 4: Hoare triple {7941#true} call #t~ret10 := main(); {7941#true} is VALID [2022-04-28 09:00:41,272 INFO L290 TraceCheckUtils]: 5: Hoare triple {7941#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {8009#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:41,272 INFO L290 TraceCheckUtils]: 6: Hoare triple {8009#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8009#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:41,273 INFO L290 TraceCheckUtils]: 7: Hoare triple {8009#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8016#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:41,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {8016#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8016#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:41,274 INFO L290 TraceCheckUtils]: 9: Hoare triple {8016#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8023#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:41,274 INFO L290 TraceCheckUtils]: 10: Hoare triple {8023#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {7942#false} is VALID [2022-04-28 09:00:41,274 INFO L272 TraceCheckUtils]: 11: Hoare triple {7942#false} call SelectionSort(); {7942#false} is VALID [2022-04-28 09:00:41,274 INFO L290 TraceCheckUtils]: 12: Hoare triple {7942#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7942#false} is VALID [2022-04-28 09:00:41,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {7942#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7942#false} is VALID [2022-04-28 09:00:41,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-28 09:00:41,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 16: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 17: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 18: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 19: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 20: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 21: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 22: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 23: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 24: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 25: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 26: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 27: Hoare triple {7942#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 28: Hoare triple {7942#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7942#false} is VALID [2022-04-28 09:00:41,275 INFO L290 TraceCheckUtils]: 29: Hoare triple {7942#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 30: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 31: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 32: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 33: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 34: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 35: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 36: Hoare triple {7942#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 37: Hoare triple {7942#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 38: Hoare triple {7942#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 39: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 40: Hoare triple {7942#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 41: Hoare triple {7942#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 42: Hoare triple {7942#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7942#false} is VALID [2022-04-28 09:00:41,276 INFO L290 TraceCheckUtils]: 43: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L290 TraceCheckUtils]: 44: Hoare triple {7942#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L290 TraceCheckUtils]: 45: Hoare triple {7942#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L290 TraceCheckUtils]: 46: Hoare triple {7942#false} assume !(~lh~0 < ~n~0); {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L290 TraceCheckUtils]: 47: Hoare triple {7942#false} assume true; {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7942#false} {7942#false} #91#return; {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L290 TraceCheckUtils]: 50: Hoare triple {7942#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L272 TraceCheckUtils]: 51: Hoare triple {7942#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-28 09:00:41,277 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-28 09:00:41,278 INFO L134 CoverageAnalysis]: Checked inductivity of 103 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 99 trivial. 0 not checked. [2022-04-28 09:00:41,278 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:41,422 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-28 09:00:41,422 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-28 09:00:41,422 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-28 09:00:41,422 INFO L272 TraceCheckUtils]: 51: Hoare triple {7942#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {7942#false} is VALID [2022-04-28 09:00:41,422 INFO L290 TraceCheckUtils]: 50: Hoare triple {7942#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {7942#false} is VALID [2022-04-28 09:00:41,422 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-28 09:00:41,423 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7941#true} {7942#false} #91#return; {7942#false} is VALID [2022-04-28 09:00:41,423 INFO L290 TraceCheckUtils]: 47: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-28 09:00:41,423 INFO L290 TraceCheckUtils]: 46: Hoare triple {7941#true} assume !(~lh~0 < ~n~0); {7941#true} is VALID [2022-04-28 09:00:41,423 INFO L290 TraceCheckUtils]: 45: Hoare triple {7941#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7941#true} is VALID [2022-04-28 09:00:41,423 INFO L290 TraceCheckUtils]: 44: Hoare triple {7941#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-28 09:00:41,423 INFO L290 TraceCheckUtils]: 43: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-28 09:00:41,423 INFO L290 TraceCheckUtils]: 42: Hoare triple {7941#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7941#true} is VALID [2022-04-28 09:00:41,423 INFO L290 TraceCheckUtils]: 41: Hoare triple {7941#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7941#true} is VALID [2022-04-28 09:00:41,423 INFO L290 TraceCheckUtils]: 40: Hoare triple {7941#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-28 09:00:41,423 INFO L290 TraceCheckUtils]: 39: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-28 09:00:41,424 INFO L290 TraceCheckUtils]: 38: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-28 09:00:41,424 INFO L290 TraceCheckUtils]: 37: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-28 09:00:41,424 INFO L290 TraceCheckUtils]: 36: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-28 09:00:41,424 INFO L290 TraceCheckUtils]: 35: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-28 09:00:41,424 INFO L290 TraceCheckUtils]: 34: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-28 09:00:41,424 INFO L290 TraceCheckUtils]: 33: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-28 09:00:41,424 INFO L290 TraceCheckUtils]: 32: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-28 09:00:41,424 INFO L290 TraceCheckUtils]: 31: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-28 09:00:41,424 INFO L290 TraceCheckUtils]: 30: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-28 09:00:41,424 INFO L290 TraceCheckUtils]: 29: Hoare triple {7941#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7941#true} is VALID [2022-04-28 09:00:41,425 INFO L290 TraceCheckUtils]: 28: Hoare triple {7941#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {7941#true} is VALID [2022-04-28 09:00:41,425 INFO L290 TraceCheckUtils]: 27: Hoare triple {7941#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-28 09:00:41,425 INFO L290 TraceCheckUtils]: 26: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-28 09:00:41,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-28 09:00:41,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-28 09:00:41,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-28 09:00:41,425 INFO L290 TraceCheckUtils]: 22: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-28 09:00:41,425 INFO L290 TraceCheckUtils]: 21: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-28 09:00:41,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-28 09:00:41,425 INFO L290 TraceCheckUtils]: 19: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-28 09:00:41,426 INFO L290 TraceCheckUtils]: 18: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-28 09:00:41,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-28 09:00:41,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {7941#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {7941#true} is VALID [2022-04-28 09:00:41,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {7941#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {7941#true} is VALID [2022-04-28 09:00:41,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {7941#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {7941#true} is VALID [2022-04-28 09:00:41,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {7941#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {7941#true} is VALID [2022-04-28 09:00:41,426 INFO L290 TraceCheckUtils]: 12: Hoare triple {7941#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {7941#true} is VALID [2022-04-28 09:00:41,426 INFO L272 TraceCheckUtils]: 11: Hoare triple {7942#false} call SelectionSort(); {7941#true} is VALID [2022-04-28 09:00:41,427 INFO L290 TraceCheckUtils]: 10: Hoare triple {8291#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {7942#false} is VALID [2022-04-28 09:00:41,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {8295#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8291#(<= 0 main_~i~1)} is VALID [2022-04-28 09:00:41,427 INFO L290 TraceCheckUtils]: 8: Hoare triple {8295#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8295#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:41,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {8023#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8295#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:41,428 INFO L290 TraceCheckUtils]: 6: Hoare triple {8023#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8023#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:41,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {7941#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {8023#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:41,429 INFO L272 TraceCheckUtils]: 4: Hoare triple {7941#true} call #t~ret10 := main(); {7941#true} is VALID [2022-04-28 09:00:41,429 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7941#true} {7941#true} #95#return; {7941#true} is VALID [2022-04-28 09:00:41,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-28 09:00:41,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {7941#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {7941#true} is VALID [2022-04-28 09:00:41,429 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7941#true} is VALID [2022-04-28 09:00:41,429 INFO L134 CoverageAnalysis]: Checked inductivity of 103 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 99 trivial. 0 not checked. [2022-04-28 09:00:41,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1759635740] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:41,429 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:41,429 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-28 09:00:41,430 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:41,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [116100280] [2022-04-28 09:00:41,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [116100280] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:41,430 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:41,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 09:00:41,430 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1769402935] [2022-04-28 09:00:41,430 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:41,430 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 09:00:41,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:41,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:41,454 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:41,455 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 09:00:41,455 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:41,455 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 09:00:41,455 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-28 09:00:41,455 INFO L87 Difference]: Start difference. First operand 66 states and 80 transitions. Second operand has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:42,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:42,113 INFO L93 Difference]: Finished difference Result 90 states and 108 transitions. [2022-04-28 09:00:42,113 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 09:00:42,113 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 55 [2022-04-28 09:00:42,114 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:42,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:42,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2022-04-28 09:00:42,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:42,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2022-04-28 09:00:42,116 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 87 transitions. [2022-04-28 09:00:42,193 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:42,195 INFO L225 Difference]: With dead ends: 90 [2022-04-28 09:00:42,195 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 09:00:42,195 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 106 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 68 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=137, Invalid=513, Unknown=0, NotChecked=0, Total=650 [2022-04-28 09:00:42,195 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 159 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 159 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 202 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:42,196 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [159 Valid, 29 Invalid, 202 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 09:00:42,196 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 09:00:42,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 67. [2022-04-28 09:00:42,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:42,297 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:42,297 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:42,297 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:42,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:42,308 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-28 09:00:42,308 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-28 09:00:42,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:42,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:42,310 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 74 states. [2022-04-28 09:00:42,310 INFO L87 Difference]: Start difference. First operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 74 states. [2022-04-28 09:00:42,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:42,311 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-28 09:00:42,311 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-28 09:00:42,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:42,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:42,312 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:42,312 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:42,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 59 states have (on average 1.2542372881355932) internal successors, (74), 59 states have internal predecessors, (74), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:42,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 81 transitions. [2022-04-28 09:00:42,314 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 81 transitions. Word has length 55 [2022-04-28 09:00:42,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:42,315 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 81 transitions. [2022-04-28 09:00:42,315 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.5555555555555554) internal successors, (32), 7 states have internal predecessors, (32), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:42,315 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 81 transitions. [2022-04-28 09:00:42,432 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:42,432 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 81 transitions. [2022-04-28 09:00:42,434 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 09:00:42,434 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:42,434 INFO L195 NwaCegarLoop]: trace histogram [8, 8, 8, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:42,450 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:42,635 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 09:00:42,635 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:42,635 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:42,635 INFO L85 PathProgramCache]: Analyzing trace with hash -804107836, now seen corresponding path program 21 times [2022-04-28 09:00:42,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:42,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1306081380] [2022-04-28 09:00:42,639 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:42,640 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:42,640 INFO L85 PathProgramCache]: Analyzing trace with hash -804107836, now seen corresponding path program 22 times [2022-04-28 09:00:42,640 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:42,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1283725934] [2022-04-28 09:00:42,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:42,640 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:42,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:42,684 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:42,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:42,702 INFO L290 TraceCheckUtils]: 0: Hoare triple {8855#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,703 INFO L290 TraceCheckUtils]: 1: Hoare triple {8814#(<= 5 ~n~0)} assume true; {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,703 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8814#(<= 5 ~n~0)} {8809#true} #95#return; {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,705 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:42,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:42,756 INFO L290 TraceCheckUtils]: 0: Hoare triple {8856#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,757 INFO L290 TraceCheckUtils]: 3: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,757 INFO L290 TraceCheckUtils]: 4: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,758 INFO L290 TraceCheckUtils]: 5: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,758 INFO L290 TraceCheckUtils]: 6: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,758 INFO L290 TraceCheckUtils]: 7: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,759 INFO L290 TraceCheckUtils]: 9: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,759 INFO L290 TraceCheckUtils]: 10: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,759 INFO L290 TraceCheckUtils]: 11: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,760 INFO L290 TraceCheckUtils]: 12: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,760 INFO L290 TraceCheckUtils]: 13: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,760 INFO L290 TraceCheckUtils]: 14: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,761 INFO L290 TraceCheckUtils]: 15: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,761 INFO L290 TraceCheckUtils]: 16: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,761 INFO L290 TraceCheckUtils]: 17: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,762 INFO L290 TraceCheckUtils]: 18: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,762 INFO L290 TraceCheckUtils]: 19: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,762 INFO L290 TraceCheckUtils]: 20: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,762 INFO L290 TraceCheckUtils]: 21: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,763 INFO L290 TraceCheckUtils]: 22: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,763 INFO L290 TraceCheckUtils]: 23: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,763 INFO L290 TraceCheckUtils]: 24: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,764 INFO L290 TraceCheckUtils]: 26: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,764 INFO L290 TraceCheckUtils]: 27: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,764 INFO L290 TraceCheckUtils]: 28: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,765 INFO L290 TraceCheckUtils]: 29: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8859#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:42,765 INFO L290 TraceCheckUtils]: 30: Hoare triple {8859#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:42,765 INFO L290 TraceCheckUtils]: 31: Hoare triple {8860#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:42,766 INFO L290 TraceCheckUtils]: 32: Hoare triple {8860#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:42,766 INFO L290 TraceCheckUtils]: 33: Hoare triple {8860#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8861#(<= SelectionSort_~i~0 4)} is VALID [2022-04-28 09:00:42,766 INFO L290 TraceCheckUtils]: 34: Hoare triple {8861#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-28 09:00:42,767 INFO L290 TraceCheckUtils]: 35: Hoare triple {8862#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8862#(<= ~n~0 4)} is VALID [2022-04-28 09:00:42,767 INFO L290 TraceCheckUtils]: 36: Hoare triple {8862#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8862#(<= ~n~0 4)} is VALID [2022-04-28 09:00:42,767 INFO L290 TraceCheckUtils]: 37: Hoare triple {8862#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-28 09:00:42,767 INFO L290 TraceCheckUtils]: 38: Hoare triple {8862#(<= ~n~0 4)} assume true; {8862#(<= ~n~0 4)} is VALID [2022-04-28 09:00:42,768 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8862#(<= ~n~0 4)} {8814#(<= 5 ~n~0)} #91#return; {8810#false} is VALID [2022-04-28 09:00:42,768 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8855#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:42,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {8855#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {8814#(<= 5 ~n~0)} assume true; {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8814#(<= 5 ~n~0)} {8809#true} #95#return; {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {8814#(<= 5 ~n~0)} call #t~ret10 := main(); {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {8814#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,770 INFO L290 TraceCheckUtils]: 6: Hoare triple {8814#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,771 INFO L290 TraceCheckUtils]: 7: Hoare triple {8814#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {8814#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,771 INFO L290 TraceCheckUtils]: 9: Hoare triple {8814#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,771 INFO L290 TraceCheckUtils]: 10: Hoare triple {8814#(<= 5 ~n~0)} assume !(~i~1 >= 0); {8814#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:42,772 INFO L272 TraceCheckUtils]: 11: Hoare triple {8814#(<= 5 ~n~0)} call SelectionSort(); {8856#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:42,772 INFO L290 TraceCheckUtils]: 12: Hoare triple {8856#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,772 INFO L290 TraceCheckUtils]: 13: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,773 INFO L290 TraceCheckUtils]: 16: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,774 INFO L290 TraceCheckUtils]: 18: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,774 INFO L290 TraceCheckUtils]: 19: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,774 INFO L290 TraceCheckUtils]: 20: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,774 INFO L290 TraceCheckUtils]: 21: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,775 INFO L290 TraceCheckUtils]: 22: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,775 INFO L290 TraceCheckUtils]: 23: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,775 INFO L290 TraceCheckUtils]: 24: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8857#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:42,776 INFO L290 TraceCheckUtils]: 28: Hoare triple {8857#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,777 INFO L290 TraceCheckUtils]: 29: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,777 INFO L290 TraceCheckUtils]: 30: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,777 INFO L290 TraceCheckUtils]: 31: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,777 INFO L290 TraceCheckUtils]: 32: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,778 INFO L290 TraceCheckUtils]: 33: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,778 INFO L290 TraceCheckUtils]: 34: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,778 INFO L290 TraceCheckUtils]: 35: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,778 INFO L290 TraceCheckUtils]: 36: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,779 INFO L290 TraceCheckUtils]: 37: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,779 INFO L290 TraceCheckUtils]: 38: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,779 INFO L290 TraceCheckUtils]: 39: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,780 INFO L290 TraceCheckUtils]: 40: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8858#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:42,780 INFO L290 TraceCheckUtils]: 41: Hoare triple {8858#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8859#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:42,780 INFO L290 TraceCheckUtils]: 42: Hoare triple {8859#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:42,781 INFO L290 TraceCheckUtils]: 43: Hoare triple {8860#(<= SelectionSort_~i~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:42,781 INFO L290 TraceCheckUtils]: 44: Hoare triple {8860#(<= SelectionSort_~i~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8860#(<= SelectionSort_~i~0 3)} is VALID [2022-04-28 09:00:42,781 INFO L290 TraceCheckUtils]: 45: Hoare triple {8860#(<= SelectionSort_~i~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8861#(<= SelectionSort_~i~0 4)} is VALID [2022-04-28 09:00:42,782 INFO L290 TraceCheckUtils]: 46: Hoare triple {8861#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-28 09:00:42,782 INFO L290 TraceCheckUtils]: 47: Hoare triple {8862#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8862#(<= ~n~0 4)} is VALID [2022-04-28 09:00:42,782 INFO L290 TraceCheckUtils]: 48: Hoare triple {8862#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8862#(<= ~n~0 4)} is VALID [2022-04-28 09:00:42,782 INFO L290 TraceCheckUtils]: 49: Hoare triple {8862#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-28 09:00:42,783 INFO L290 TraceCheckUtils]: 50: Hoare triple {8862#(<= ~n~0 4)} assume true; {8862#(<= ~n~0 4)} is VALID [2022-04-28 09:00:42,783 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8862#(<= ~n~0 4)} {8814#(<= 5 ~n~0)} #91#return; {8810#false} is VALID [2022-04-28 09:00:42,783 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-28 09:00:42,783 INFO L290 TraceCheckUtils]: 53: Hoare triple {8810#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8810#false} is VALID [2022-04-28 09:00:42,783 INFO L272 TraceCheckUtils]: 54: Hoare triple {8810#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {8810#false} is VALID [2022-04-28 09:00:42,783 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-28 09:00:42,784 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-28 09:00:42,784 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-28 09:00:42,784 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 0 proven. 89 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 09:00:42,784 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:42,784 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1283725934] [2022-04-28 09:00:42,784 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1283725934] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:42,784 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [172731135] [2022-04-28 09:00:42,784 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:00:42,784 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:42,784 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:42,785 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:42,786 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 09:00:42,847 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:00:42,847 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:42,848 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 09:00:42,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:42,861 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:43,143 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8809#true} is VALID [2022-04-28 09:00:43,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {8809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {8809#true} is VALID [2022-04-28 09:00:43,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {8809#true} assume true; {8809#true} is VALID [2022-04-28 09:00:43,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8809#true} {8809#true} #95#return; {8809#true} is VALID [2022-04-28 09:00:43,143 INFO L272 TraceCheckUtils]: 4: Hoare triple {8809#true} call #t~ret10 := main(); {8809#true} is VALID [2022-04-28 09:00:43,143 INFO L290 TraceCheckUtils]: 5: Hoare triple {8809#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {8809#true} is VALID [2022-04-28 09:00:43,143 INFO L290 TraceCheckUtils]: 6: Hoare triple {8809#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8809#true} is VALID [2022-04-28 09:00:43,144 INFO L290 TraceCheckUtils]: 7: Hoare triple {8809#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8809#true} is VALID [2022-04-28 09:00:43,144 INFO L290 TraceCheckUtils]: 8: Hoare triple {8809#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8809#true} is VALID [2022-04-28 09:00:43,144 INFO L290 TraceCheckUtils]: 9: Hoare triple {8809#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8809#true} is VALID [2022-04-28 09:00:43,144 INFO L290 TraceCheckUtils]: 10: Hoare triple {8809#true} assume !(~i~1 >= 0); {8809#true} is VALID [2022-04-28 09:00:43,144 INFO L272 TraceCheckUtils]: 11: Hoare triple {8809#true} call SelectionSort(); {8809#true} is VALID [2022-04-28 09:00:43,144 INFO L290 TraceCheckUtils]: 12: Hoare triple {8809#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {8809#true} is VALID [2022-04-28 09:00:43,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {8809#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,145 INFO L290 TraceCheckUtils]: 15: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,145 INFO L290 TraceCheckUtils]: 16: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,145 INFO L290 TraceCheckUtils]: 17: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,146 INFO L290 TraceCheckUtils]: 18: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,146 INFO L290 TraceCheckUtils]: 19: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,146 INFO L290 TraceCheckUtils]: 20: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,147 INFO L290 TraceCheckUtils]: 21: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,147 INFO L290 TraceCheckUtils]: 22: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8935#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,148 INFO L290 TraceCheckUtils]: 23: Hoare triple {8935#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:43,148 INFO L290 TraceCheckUtils]: 24: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:43,148 INFO L290 TraceCheckUtils]: 25: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:43,148 INFO L290 TraceCheckUtils]: 26: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:43,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:43,149 INFO L290 TraceCheckUtils]: 28: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,149 INFO L290 TraceCheckUtils]: 29: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,150 INFO L290 TraceCheckUtils]: 30: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,150 INFO L290 TraceCheckUtils]: 31: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,150 INFO L290 TraceCheckUtils]: 32: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,150 INFO L290 TraceCheckUtils]: 33: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,151 INFO L290 TraceCheckUtils]: 34: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,151 INFO L290 TraceCheckUtils]: 35: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,151 INFO L290 TraceCheckUtils]: 36: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,151 INFO L290 TraceCheckUtils]: 37: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,152 INFO L290 TraceCheckUtils]: 38: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,152 INFO L290 TraceCheckUtils]: 39: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !(~i~0 < ~n~0); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,152 INFO L290 TraceCheckUtils]: 40: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,153 INFO L290 TraceCheckUtils]: 41: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8995#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:43,153 INFO L290 TraceCheckUtils]: 42: Hoare triple {8995#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:43,153 INFO L290 TraceCheckUtils]: 43: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:43,154 INFO L290 TraceCheckUtils]: 44: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:43,154 INFO L290 TraceCheckUtils]: 45: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9009#(< SelectionSort_~i~0 ~n~0)} is VALID [2022-04-28 09:00:43,154 INFO L290 TraceCheckUtils]: 46: Hoare triple {9009#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {8810#false} is VALID [2022-04-28 09:00:43,154 INFO L290 TraceCheckUtils]: 47: Hoare triple {8810#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8810#false} is VALID [2022-04-28 09:00:43,154 INFO L290 TraceCheckUtils]: 48: Hoare triple {8810#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8810#false} is VALID [2022-04-28 09:00:43,155 INFO L290 TraceCheckUtils]: 49: Hoare triple {8810#false} assume !(~lh~0 < ~n~0); {8810#false} is VALID [2022-04-28 09:00:43,155 INFO L290 TraceCheckUtils]: 50: Hoare triple {8810#false} assume true; {8810#false} is VALID [2022-04-28 09:00:43,155 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8810#false} {8809#true} #91#return; {8810#false} is VALID [2022-04-28 09:00:43,155 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-28 09:00:43,155 INFO L290 TraceCheckUtils]: 53: Hoare triple {8810#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8810#false} is VALID [2022-04-28 09:00:43,155 INFO L272 TraceCheckUtils]: 54: Hoare triple {8810#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {8810#false} is VALID [2022-04-28 09:00:43,155 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-28 09:00:43,155 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-28 09:00:43,155 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-28 09:00:43,155 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 21 proven. 90 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 09:00:43,155 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:43,377 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-28 09:00:43,377 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-28 09:00:43,377 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-28 09:00:43,377 INFO L272 TraceCheckUtils]: 54: Hoare triple {8810#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {8810#false} is VALID [2022-04-28 09:00:43,377 INFO L290 TraceCheckUtils]: 53: Hoare triple {8810#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8810#false} is VALID [2022-04-28 09:00:43,377 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-28 09:00:43,377 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8810#false} {8809#true} #91#return; {8810#false} is VALID [2022-04-28 09:00:43,377 INFO L290 TraceCheckUtils]: 50: Hoare triple {8810#false} assume true; {8810#false} is VALID [2022-04-28 09:00:43,377 INFO L290 TraceCheckUtils]: 49: Hoare triple {8810#false} assume !(~lh~0 < ~n~0); {8810#false} is VALID [2022-04-28 09:00:43,377 INFO L290 TraceCheckUtils]: 48: Hoare triple {8810#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8810#false} is VALID [2022-04-28 09:00:43,378 INFO L290 TraceCheckUtils]: 47: Hoare triple {8810#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8810#false} is VALID [2022-04-28 09:00:43,378 INFO L290 TraceCheckUtils]: 46: Hoare triple {9009#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {8810#false} is VALID [2022-04-28 09:00:43,378 INFO L290 TraceCheckUtils]: 45: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9009#(< SelectionSort_~i~0 ~n~0)} is VALID [2022-04-28 09:00:43,378 INFO L290 TraceCheckUtils]: 44: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:43,379 INFO L290 TraceCheckUtils]: 43: Hoare triple {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:43,379 INFO L290 TraceCheckUtils]: 42: Hoare triple {8995#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8999#(< (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:00:43,380 INFO L290 TraceCheckUtils]: 41: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8995#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:43,380 INFO L290 TraceCheckUtils]: 40: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,380 INFO L290 TraceCheckUtils]: 39: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !(~i~0 < ~n~0); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,380 INFO L290 TraceCheckUtils]: 38: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,381 INFO L290 TraceCheckUtils]: 37: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,381 INFO L290 TraceCheckUtils]: 36: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,381 INFO L290 TraceCheckUtils]: 35: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,382 INFO L290 TraceCheckUtils]: 34: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,382 INFO L290 TraceCheckUtils]: 33: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,382 INFO L290 TraceCheckUtils]: 32: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,382 INFO L290 TraceCheckUtils]: 31: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,383 INFO L290 TraceCheckUtils]: 30: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,383 INFO L290 TraceCheckUtils]: 29: Hoare triple {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,383 INFO L290 TraceCheckUtils]: 28: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {8955#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:43,384 INFO L290 TraceCheckUtils]: 27: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:43,384 INFO L290 TraceCheckUtils]: 26: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:43,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:43,384 INFO L290 TraceCheckUtils]: 24: Hoare triple {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:43,385 INFO L290 TraceCheckUtils]: 23: Hoare triple {8935#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8939#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:43,385 INFO L290 TraceCheckUtils]: 22: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8935#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,386 INFO L290 TraceCheckUtils]: 21: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,386 INFO L290 TraceCheckUtils]: 19: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8925#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,387 INFO L290 TraceCheckUtils]: 16: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {8915#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,387 INFO L290 TraceCheckUtils]: 15: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,388 INFO L290 TraceCheckUtils]: 14: Hoare triple {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,388 INFO L290 TraceCheckUtils]: 13: Hoare triple {8809#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {8905#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:43,388 INFO L290 TraceCheckUtils]: 12: Hoare triple {8809#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {8809#true} is VALID [2022-04-28 09:00:43,388 INFO L272 TraceCheckUtils]: 11: Hoare triple {8809#true} call SelectionSort(); {8809#true} is VALID [2022-04-28 09:00:43,388 INFO L290 TraceCheckUtils]: 10: Hoare triple {8809#true} assume !(~i~1 >= 0); {8809#true} is VALID [2022-04-28 09:00:43,388 INFO L290 TraceCheckUtils]: 9: Hoare triple {8809#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8809#true} is VALID [2022-04-28 09:00:43,388 INFO L290 TraceCheckUtils]: 8: Hoare triple {8809#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8809#true} is VALID [2022-04-28 09:00:43,388 INFO L290 TraceCheckUtils]: 7: Hoare triple {8809#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {8809#true} is VALID [2022-04-28 09:00:43,389 INFO L290 TraceCheckUtils]: 6: Hoare triple {8809#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {8809#true} is VALID [2022-04-28 09:00:43,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {8809#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {8809#true} is VALID [2022-04-28 09:00:43,389 INFO L272 TraceCheckUtils]: 4: Hoare triple {8809#true} call #t~ret10 := main(); {8809#true} is VALID [2022-04-28 09:00:43,389 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8809#true} {8809#true} #95#return; {8809#true} is VALID [2022-04-28 09:00:43,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {8809#true} assume true; {8809#true} is VALID [2022-04-28 09:00:43,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {8809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {8809#true} is VALID [2022-04-28 09:00:43,389 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8809#true} is VALID [2022-04-28 09:00:43,389 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 21 proven. 90 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 09:00:43,390 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [172731135] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:43,390 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:43,390 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-28 09:00:43,390 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:43,390 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1306081380] [2022-04-28 09:00:43,390 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1306081380] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:43,390 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:43,390 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 09:00:43,390 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [379024555] [2022-04-28 09:00:43,390 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:43,391 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 09:00:43,391 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:43,391 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:43,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:43,418 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 09:00:43,418 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:43,418 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 09:00:43,418 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2022-04-28 09:00:43,418 INFO L87 Difference]: Start difference. First operand 67 states and 81 transitions. Second operand has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:44,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:44,185 INFO L93 Difference]: Finished difference Result 100 states and 123 transitions. [2022-04-28 09:00:44,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 09:00:44,185 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 58 [2022-04-28 09:00:44,185 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:44,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:44,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2022-04-28 09:00:44,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:44,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2022-04-28 09:00:44,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 105 transitions. [2022-04-28 09:00:44,274 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:44,286 INFO L225 Difference]: With dead ends: 100 [2022-04-28 09:00:44,286 INFO L226 Difference]: Without dead ends: 77 [2022-04-28 09:00:44,286 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 108 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 184 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=225, Invalid=897, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 09:00:44,287 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 199 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 197 mSolverCounterSat, 48 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 199 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 245 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 48 IncrementalHoareTripleChecker+Valid, 197 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:44,287 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [199 Valid, 31 Invalid, 245 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [48 Valid, 197 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 09:00:44,287 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-28 09:00:44,399 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-28 09:00:44,399 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:44,400 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:44,400 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:44,400 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:44,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:44,401 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2022-04-28 09:00:44,401 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 95 transitions. [2022-04-28 09:00:44,401 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:44,401 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:44,402 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 77 states. [2022-04-28 09:00:44,402 INFO L87 Difference]: Start difference. First operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 77 states. [2022-04-28 09:00:44,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:44,403 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2022-04-28 09:00:44,403 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 95 transitions. [2022-04-28 09:00:44,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:44,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:44,403 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:44,403 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:44,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 62 states have (on average 1.2580645161290323) internal successors, (78), 62 states have internal predecessors, (78), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:44,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 85 transitions. [2022-04-28 09:00:44,404 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 85 transitions. Word has length 58 [2022-04-28 09:00:44,404 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:44,404 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 85 transitions. [2022-04-28 09:00:44,404 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.5) internal successors, (35), 8 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:44,404 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 85 transitions. [2022-04-28 09:00:44,531 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:44,531 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-04-28 09:00:44,531 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 09:00:44,531 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:44,531 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 9, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:44,548 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:44,732 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:44,732 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:44,732 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:44,732 INFO L85 PathProgramCache]: Analyzing trace with hash -253331840, now seen corresponding path program 23 times [2022-04-28 09:00:44,732 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:44,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1894514967] [2022-04-28 09:00:44,734 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:44,734 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:44,735 INFO L85 PathProgramCache]: Analyzing trace with hash -253331840, now seen corresponding path program 24 times [2022-04-28 09:00:44,735 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:44,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1846510175] [2022-04-28 09:00:44,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:44,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:44,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:44,775 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:44,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:44,781 INFO L290 TraceCheckUtils]: 0: Hoare triple {9790#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {9746#(<= 5 ~n~0)} assume true; {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,782 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9746#(<= 5 ~n~0)} {9741#true} #95#return; {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,784 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:44,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:44,837 INFO L290 TraceCheckUtils]: 0: Hoare triple {9791#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,837 INFO L290 TraceCheckUtils]: 1: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,838 INFO L290 TraceCheckUtils]: 3: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,838 INFO L290 TraceCheckUtils]: 4: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,839 INFO L290 TraceCheckUtils]: 6: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,839 INFO L290 TraceCheckUtils]: 7: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,839 INFO L290 TraceCheckUtils]: 8: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,840 INFO L290 TraceCheckUtils]: 9: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,840 INFO L290 TraceCheckUtils]: 10: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,840 INFO L290 TraceCheckUtils]: 11: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,840 INFO L290 TraceCheckUtils]: 12: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,841 INFO L290 TraceCheckUtils]: 13: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,841 INFO L290 TraceCheckUtils]: 14: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,841 INFO L290 TraceCheckUtils]: 15: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,842 INFO L290 TraceCheckUtils]: 16: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,842 INFO L290 TraceCheckUtils]: 17: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,842 INFO L290 TraceCheckUtils]: 18: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,843 INFO L290 TraceCheckUtils]: 20: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,843 INFO L290 TraceCheckUtils]: 21: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,843 INFO L290 TraceCheckUtils]: 23: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,844 INFO L290 TraceCheckUtils]: 24: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,844 INFO L290 TraceCheckUtils]: 25: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,844 INFO L290 TraceCheckUtils]: 27: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,845 INFO L290 TraceCheckUtils]: 28: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,845 INFO L290 TraceCheckUtils]: 29: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,845 INFO L290 TraceCheckUtils]: 30: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,846 INFO L290 TraceCheckUtils]: 31: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,846 INFO L290 TraceCheckUtils]: 32: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,846 INFO L290 TraceCheckUtils]: 33: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,846 INFO L290 TraceCheckUtils]: 34: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,847 INFO L290 TraceCheckUtils]: 35: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,847 INFO L290 TraceCheckUtils]: 36: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,847 INFO L290 TraceCheckUtils]: 37: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,847 INFO L290 TraceCheckUtils]: 38: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,848 INFO L290 TraceCheckUtils]: 39: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9795#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:44,848 INFO L290 TraceCheckUtils]: 40: Hoare triple {9795#(<= SelectionSort_~lh~0 3)} assume !(~lh~0 < ~n~0); {9796#(<= ~n~0 3)} is VALID [2022-04-28 09:00:44,848 INFO L290 TraceCheckUtils]: 41: Hoare triple {9796#(<= ~n~0 3)} assume true; {9796#(<= ~n~0 3)} is VALID [2022-04-28 09:00:44,849 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {9796#(<= ~n~0 3)} {9746#(<= 5 ~n~0)} #91#return; {9742#false} is VALID [2022-04-28 09:00:44,849 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9790#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:44,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {9790#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {9746#(<= 5 ~n~0)} assume true; {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,851 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9746#(<= 5 ~n~0)} {9741#true} #95#return; {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,851 INFO L272 TraceCheckUtils]: 4: Hoare triple {9746#(<= 5 ~n~0)} call #t~ret10 := main(); {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,851 INFO L290 TraceCheckUtils]: 5: Hoare triple {9746#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,852 INFO L290 TraceCheckUtils]: 6: Hoare triple {9746#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,852 INFO L290 TraceCheckUtils]: 7: Hoare triple {9746#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,852 INFO L290 TraceCheckUtils]: 8: Hoare triple {9746#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,852 INFO L290 TraceCheckUtils]: 9: Hoare triple {9746#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,853 INFO L290 TraceCheckUtils]: 10: Hoare triple {9746#(<= 5 ~n~0)} assume !(~i~1 >= 0); {9746#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:44,853 INFO L272 TraceCheckUtils]: 11: Hoare triple {9746#(<= 5 ~n~0)} call SelectionSort(); {9791#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:44,854 INFO L290 TraceCheckUtils]: 12: Hoare triple {9791#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,854 INFO L290 TraceCheckUtils]: 13: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,854 INFO L290 TraceCheckUtils]: 14: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,854 INFO L290 TraceCheckUtils]: 15: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,855 INFO L290 TraceCheckUtils]: 16: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,855 INFO L290 TraceCheckUtils]: 17: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,855 INFO L290 TraceCheckUtils]: 18: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,856 INFO L290 TraceCheckUtils]: 19: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,856 INFO L290 TraceCheckUtils]: 20: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,856 INFO L290 TraceCheckUtils]: 21: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,856 INFO L290 TraceCheckUtils]: 22: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,857 INFO L290 TraceCheckUtils]: 23: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,857 INFO L290 TraceCheckUtils]: 24: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,857 INFO L290 TraceCheckUtils]: 25: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,858 INFO L290 TraceCheckUtils]: 27: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9792#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:44,858 INFO L290 TraceCheckUtils]: 28: Hoare triple {9792#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,858 INFO L290 TraceCheckUtils]: 29: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,859 INFO L290 TraceCheckUtils]: 31: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,859 INFO L290 TraceCheckUtils]: 32: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,859 INFO L290 TraceCheckUtils]: 33: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,859 INFO L290 TraceCheckUtils]: 34: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,860 INFO L290 TraceCheckUtils]: 35: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,860 INFO L290 TraceCheckUtils]: 36: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,860 INFO L290 TraceCheckUtils]: 37: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,860 INFO L290 TraceCheckUtils]: 38: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,861 INFO L290 TraceCheckUtils]: 39: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,861 INFO L290 TraceCheckUtils]: 40: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9793#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:44,861 INFO L290 TraceCheckUtils]: 41: Hoare triple {9793#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,862 INFO L290 TraceCheckUtils]: 42: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,862 INFO L290 TraceCheckUtils]: 43: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,862 INFO L290 TraceCheckUtils]: 44: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,862 INFO L290 TraceCheckUtils]: 45: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,863 INFO L290 TraceCheckUtils]: 46: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,863 INFO L290 TraceCheckUtils]: 47: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,863 INFO L290 TraceCheckUtils]: 48: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,863 INFO L290 TraceCheckUtils]: 49: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,864 INFO L290 TraceCheckUtils]: 50: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9794#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:44,864 INFO L290 TraceCheckUtils]: 51: Hoare triple {9794#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9795#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:44,864 INFO L290 TraceCheckUtils]: 52: Hoare triple {9795#(<= SelectionSort_~lh~0 3)} assume !(~lh~0 < ~n~0); {9796#(<= ~n~0 3)} is VALID [2022-04-28 09:00:44,865 INFO L290 TraceCheckUtils]: 53: Hoare triple {9796#(<= ~n~0 3)} assume true; {9796#(<= ~n~0 3)} is VALID [2022-04-28 09:00:44,865 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9796#(<= ~n~0 3)} {9746#(<= 5 ~n~0)} #91#return; {9742#false} is VALID [2022-04-28 09:00:44,865 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-28 09:00:44,865 INFO L290 TraceCheckUtils]: 56: Hoare triple {9742#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9742#false} is VALID [2022-04-28 09:00:44,865 INFO L272 TraceCheckUtils]: 57: Hoare triple {9742#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {9742#false} is VALID [2022-04-28 09:00:44,865 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-28 09:00:44,865 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-28 09:00:44,865 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-28 09:00:44,866 INFO L134 CoverageAnalysis]: Checked inductivity of 154 backedges. 0 proven. 111 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-28 09:00:44,866 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:44,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1846510175] [2022-04-28 09:00:44,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1846510175] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:44,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2116015297] [2022-04-28 09:00:44,866 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 09:00:44,866 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:44,866 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:44,867 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:44,868 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 09:00:44,944 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 09:00:44,944 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:44,945 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 09:00:44,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:44,956 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:45,082 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9741#true} is VALID [2022-04-28 09:00:45,082 INFO L290 TraceCheckUtils]: 1: Hoare triple {9741#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {9741#true} is VALID [2022-04-28 09:00:45,082 INFO L290 TraceCheckUtils]: 2: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-28 09:00:45,082 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9741#true} {9741#true} #95#return; {9741#true} is VALID [2022-04-28 09:00:45,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {9741#true} call #t~ret10 := main(); {9741#true} is VALID [2022-04-28 09:00:45,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {9741#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {9815#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:45,083 INFO L290 TraceCheckUtils]: 6: Hoare triple {9815#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9815#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:45,084 INFO L290 TraceCheckUtils]: 7: Hoare triple {9815#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {9822#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:45,084 INFO L290 TraceCheckUtils]: 8: Hoare triple {9822#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9822#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:45,085 INFO L290 TraceCheckUtils]: 9: Hoare triple {9822#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {9829#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:45,085 INFO L290 TraceCheckUtils]: 10: Hoare triple {9829#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {9742#false} is VALID [2022-04-28 09:00:45,085 INFO L272 TraceCheckUtils]: 11: Hoare triple {9742#false} call SelectionSort(); {9742#false} is VALID [2022-04-28 09:00:45,085 INFO L290 TraceCheckUtils]: 12: Hoare triple {9742#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {9742#false} is VALID [2022-04-28 09:00:45,085 INFO L290 TraceCheckUtils]: 13: Hoare triple {9742#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9742#false} is VALID [2022-04-28 09:00:45,085 INFO L290 TraceCheckUtils]: 14: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,085 INFO L290 TraceCheckUtils]: 15: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-28 09:00:45,085 INFO L290 TraceCheckUtils]: 16: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 17: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 18: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 19: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 21: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 22: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 23: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 24: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 25: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 26: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 27: Hoare triple {9742#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 28: Hoare triple {9742#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 29: Hoare triple {9742#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 30: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,086 INFO L290 TraceCheckUtils]: 31: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 32: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 33: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 34: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 35: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 36: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 37: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 38: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 39: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 40: Hoare triple {9742#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 41: Hoare triple {9742#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 42: Hoare triple {9742#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 43: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,087 INFO L290 TraceCheckUtils]: 44: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 45: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 46: Hoare triple {9742#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 47: Hoare triple {9742#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 48: Hoare triple {9742#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 49: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 50: Hoare triple {9742#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 51: Hoare triple {9742#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 52: Hoare triple {9742#false} assume !(~lh~0 < ~n~0); {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 53: Hoare triple {9742#false} assume true; {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9742#false} {9742#false} #91#return; {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 56: Hoare triple {9742#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L272 TraceCheckUtils]: 57: Hoare triple {9742#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {9742#false} is VALID [2022-04-28 09:00:45,088 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-28 09:00:45,089 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-28 09:00:45,089 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-28 09:00:45,089 INFO L134 CoverageAnalysis]: Checked inductivity of 154 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-28 09:00:45,089 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:45,216 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-28 09:00:45,216 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-28 09:00:45,216 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-28 09:00:45,216 INFO L272 TraceCheckUtils]: 57: Hoare triple {9742#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {9742#false} is VALID [2022-04-28 09:00:45,216 INFO L290 TraceCheckUtils]: 56: Hoare triple {9742#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9742#false} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-28 09:00:45,217 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9741#true} {9742#false} #91#return; {9742#false} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 53: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 52: Hoare triple {9741#true} assume !(~lh~0 < ~n~0); {9741#true} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 51: Hoare triple {9741#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9741#true} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 50: Hoare triple {9741#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 49: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 48: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 47: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 46: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 45: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 44: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-28 09:00:45,217 INFO L290 TraceCheckUtils]: 43: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 42: Hoare triple {9741#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 41: Hoare triple {9741#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 40: Hoare triple {9741#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 39: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 38: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 37: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 36: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 35: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 34: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 33: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 32: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 31: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 30: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,218 INFO L290 TraceCheckUtils]: 29: Hoare triple {9741#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 28: Hoare triple {9741#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 27: Hoare triple {9741#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 26: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 25: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 24: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 23: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 22: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 21: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 20: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 19: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 18: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 17: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 16: Hoare triple {9741#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {9741#true} is VALID [2022-04-28 09:00:45,219 INFO L290 TraceCheckUtils]: 15: Hoare triple {9741#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {9741#true} is VALID [2022-04-28 09:00:45,220 INFO L290 TraceCheckUtils]: 14: Hoare triple {9741#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {9741#true} is VALID [2022-04-28 09:00:45,220 INFO L290 TraceCheckUtils]: 13: Hoare triple {9741#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {9741#true} is VALID [2022-04-28 09:00:45,220 INFO L290 TraceCheckUtils]: 12: Hoare triple {9741#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {9741#true} is VALID [2022-04-28 09:00:45,220 INFO L272 TraceCheckUtils]: 11: Hoare triple {9742#false} call SelectionSort(); {9741#true} is VALID [2022-04-28 09:00:45,223 INFO L290 TraceCheckUtils]: 10: Hoare triple {10133#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {9742#false} is VALID [2022-04-28 09:00:45,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {10137#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10133#(<= 0 main_~i~1)} is VALID [2022-04-28 09:00:45,224 INFO L290 TraceCheckUtils]: 8: Hoare triple {10137#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10137#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:45,224 INFO L290 TraceCheckUtils]: 7: Hoare triple {9829#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10137#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:45,225 INFO L290 TraceCheckUtils]: 6: Hoare triple {9829#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {9829#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:45,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {9741#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {9829#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:45,225 INFO L272 TraceCheckUtils]: 4: Hoare triple {9741#true} call #t~ret10 := main(); {9741#true} is VALID [2022-04-28 09:00:45,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9741#true} {9741#true} #95#return; {9741#true} is VALID [2022-04-28 09:00:45,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-28 09:00:45,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {9741#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {9741#true} is VALID [2022-04-28 09:00:45,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9741#true} is VALID [2022-04-28 09:00:45,226 INFO L134 CoverageAnalysis]: Checked inductivity of 154 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-28 09:00:45,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2116015297] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:45,226 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:45,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-28 09:00:45,226 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:45,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1894514967] [2022-04-28 09:00:45,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1894514967] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:45,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:45,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 09:00:45,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [385888789] [2022-04-28 09:00:45,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:45,227 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 09:00:45,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:45,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:45,258 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:45,258 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 09:00:45,258 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:45,259 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 09:00:45,259 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-28 09:00:45,259 INFO L87 Difference]: Start difference. First operand 70 states and 85 transitions. Second operand has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:45,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:45,860 INFO L93 Difference]: Finished difference Result 97 states and 118 transitions. [2022-04-28 09:00:45,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 09:00:45,860 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 61 [2022-04-28 09:00:45,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:45,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:45,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-28 09:00:45,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:45,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-28 09:00:45,862 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 80 transitions. [2022-04-28 09:00:45,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:45,927 INFO L225 Difference]: With dead ends: 97 [2022-04-28 09:00:45,927 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 09:00:45,927 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 118 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=116, Invalid=436, Unknown=0, NotChecked=0, Total=552 [2022-04-28 09:00:45,928 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 140 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 163 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 140 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 190 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 163 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:45,928 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [140 Valid, 31 Invalid, 190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 163 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 09:00:45,928 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 09:00:46,057 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 76. [2022-04-28 09:00:46,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:46,057 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:46,057 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:46,058 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:46,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:46,059 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-28 09:00:46,059 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-28 09:00:46,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:46,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:46,059 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 84 states. [2022-04-28 09:00:46,059 INFO L87 Difference]: Start difference. First operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 84 states. [2022-04-28 09:00:46,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:46,060 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-28 09:00:46,060 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-28 09:00:46,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:46,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:46,061 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:46,061 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:46,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 68 states have (on average 1.2647058823529411) internal successors, (86), 68 states have internal predecessors, (86), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:46,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 93 transitions. [2022-04-28 09:00:46,062 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 93 transitions. Word has length 61 [2022-04-28 09:00:46,062 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:46,062 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 93 transitions. [2022-04-28 09:00:46,062 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 3.888888888888889) internal successors, (35), 7 states have internal predecessors, (35), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:46,062 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 93 transitions. [2022-04-28 09:00:46,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:46,218 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-28 09:00:46,218 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-28 09:00:46,218 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:46,218 INFO L195 NwaCegarLoop]: trace histogram [9, 9, 9, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:46,236 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 09:00:46,430 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 09:00:46,430 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:46,430 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:46,430 INFO L85 PathProgramCache]: Analyzing trace with hash 1836788888, now seen corresponding path program 25 times [2022-04-28 09:00:46,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:46,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1253195843] [2022-04-28 09:00:46,432 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:46,432 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:46,432 INFO L85 PathProgramCache]: Analyzing trace with hash 1836788888, now seen corresponding path program 26 times [2022-04-28 09:00:46,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:46,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2054658482] [2022-04-28 09:00:46,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:46,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:46,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:46,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:46,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:46,481 INFO L290 TraceCheckUtils]: 0: Hoare triple {10752#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {10704#(<= 5 ~n~0)} assume true; {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,482 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10704#(<= 5 ~n~0)} {10699#true} #95#return; {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,485 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:46,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:46,541 INFO L290 TraceCheckUtils]: 0: Hoare triple {10753#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,542 INFO L290 TraceCheckUtils]: 2: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,542 INFO L290 TraceCheckUtils]: 3: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,543 INFO L290 TraceCheckUtils]: 4: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,543 INFO L290 TraceCheckUtils]: 5: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,543 INFO L290 TraceCheckUtils]: 6: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,544 INFO L290 TraceCheckUtils]: 7: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,544 INFO L290 TraceCheckUtils]: 8: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,544 INFO L290 TraceCheckUtils]: 9: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,545 INFO L290 TraceCheckUtils]: 10: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,545 INFO L290 TraceCheckUtils]: 11: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,545 INFO L290 TraceCheckUtils]: 12: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,545 INFO L290 TraceCheckUtils]: 13: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,546 INFO L290 TraceCheckUtils]: 14: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,546 INFO L290 TraceCheckUtils]: 15: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,546 INFO L290 TraceCheckUtils]: 16: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,547 INFO L290 TraceCheckUtils]: 17: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,547 INFO L290 TraceCheckUtils]: 18: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,547 INFO L290 TraceCheckUtils]: 19: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,547 INFO L290 TraceCheckUtils]: 20: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,548 INFO L290 TraceCheckUtils]: 21: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,548 INFO L290 TraceCheckUtils]: 22: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,548 INFO L290 TraceCheckUtils]: 23: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,548 INFO L290 TraceCheckUtils]: 24: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,549 INFO L290 TraceCheckUtils]: 25: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,549 INFO L290 TraceCheckUtils]: 26: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,549 INFO L290 TraceCheckUtils]: 27: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,549 INFO L290 TraceCheckUtils]: 28: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,550 INFO L290 TraceCheckUtils]: 29: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,550 INFO L290 TraceCheckUtils]: 30: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,550 INFO L290 TraceCheckUtils]: 31: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,551 INFO L290 TraceCheckUtils]: 32: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,551 INFO L290 TraceCheckUtils]: 33: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,551 INFO L290 TraceCheckUtils]: 34: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,551 INFO L290 TraceCheckUtils]: 35: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,552 INFO L290 TraceCheckUtils]: 36: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,552 INFO L290 TraceCheckUtils]: 37: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,552 INFO L290 TraceCheckUtils]: 38: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,553 INFO L290 TraceCheckUtils]: 39: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10757#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:46,553 INFO L290 TraceCheckUtils]: 40: Hoare triple {10757#(<= SelectionSort_~lh~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10758#(<= SelectionSort_~i~0 4)} is VALID [2022-04-28 09:00:46,554 INFO L290 TraceCheckUtils]: 41: Hoare triple {10758#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-28 09:00:46,554 INFO L290 TraceCheckUtils]: 42: Hoare triple {10759#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10759#(<= ~n~0 4)} is VALID [2022-04-28 09:00:46,554 INFO L290 TraceCheckUtils]: 43: Hoare triple {10759#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10759#(<= ~n~0 4)} is VALID [2022-04-28 09:00:46,554 INFO L290 TraceCheckUtils]: 44: Hoare triple {10759#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-28 09:00:46,555 INFO L290 TraceCheckUtils]: 45: Hoare triple {10759#(<= ~n~0 4)} assume true; {10759#(<= ~n~0 4)} is VALID [2022-04-28 09:00:46,555 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10759#(<= ~n~0 4)} {10704#(<= 5 ~n~0)} #91#return; {10700#false} is VALID [2022-04-28 09:00:46,559 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10752#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:46,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {10752#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {10704#(<= 5 ~n~0)} assume true; {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,561 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10704#(<= 5 ~n~0)} {10699#true} #95#return; {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,561 INFO L272 TraceCheckUtils]: 4: Hoare triple {10704#(<= 5 ~n~0)} call #t~ret10 := main(); {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,562 INFO L290 TraceCheckUtils]: 5: Hoare triple {10704#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,562 INFO L290 TraceCheckUtils]: 6: Hoare triple {10704#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,562 INFO L290 TraceCheckUtils]: 7: Hoare triple {10704#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,562 INFO L290 TraceCheckUtils]: 8: Hoare triple {10704#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,563 INFO L290 TraceCheckUtils]: 9: Hoare triple {10704#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,563 INFO L290 TraceCheckUtils]: 10: Hoare triple {10704#(<= 5 ~n~0)} assume !(~i~1 >= 0); {10704#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:46,564 INFO L272 TraceCheckUtils]: 11: Hoare triple {10704#(<= 5 ~n~0)} call SelectionSort(); {10753#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:46,564 INFO L290 TraceCheckUtils]: 12: Hoare triple {10753#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,565 INFO L290 TraceCheckUtils]: 15: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,565 INFO L290 TraceCheckUtils]: 16: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,565 INFO L290 TraceCheckUtils]: 17: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,566 INFO L290 TraceCheckUtils]: 18: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,566 INFO L290 TraceCheckUtils]: 19: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,566 INFO L290 TraceCheckUtils]: 20: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,567 INFO L290 TraceCheckUtils]: 21: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,567 INFO L290 TraceCheckUtils]: 22: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,567 INFO L290 TraceCheckUtils]: 23: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,568 INFO L290 TraceCheckUtils]: 24: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,568 INFO L290 TraceCheckUtils]: 25: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,568 INFO L290 TraceCheckUtils]: 26: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,568 INFO L290 TraceCheckUtils]: 27: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10754#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:46,569 INFO L290 TraceCheckUtils]: 28: Hoare triple {10754#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,569 INFO L290 TraceCheckUtils]: 29: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,570 INFO L290 TraceCheckUtils]: 30: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,570 INFO L290 TraceCheckUtils]: 31: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,570 INFO L290 TraceCheckUtils]: 32: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,570 INFO L290 TraceCheckUtils]: 33: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,571 INFO L290 TraceCheckUtils]: 34: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,571 INFO L290 TraceCheckUtils]: 35: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,571 INFO L290 TraceCheckUtils]: 36: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,572 INFO L290 TraceCheckUtils]: 37: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,572 INFO L290 TraceCheckUtils]: 38: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,572 INFO L290 TraceCheckUtils]: 39: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,573 INFO L290 TraceCheckUtils]: 40: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10755#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:46,573 INFO L290 TraceCheckUtils]: 41: Hoare triple {10755#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,573 INFO L290 TraceCheckUtils]: 42: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,574 INFO L290 TraceCheckUtils]: 43: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,574 INFO L290 TraceCheckUtils]: 45: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,575 INFO L290 TraceCheckUtils]: 46: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,575 INFO L290 TraceCheckUtils]: 47: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,575 INFO L290 TraceCheckUtils]: 48: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,575 INFO L290 TraceCheckUtils]: 49: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,576 INFO L290 TraceCheckUtils]: 50: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10756#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:46,576 INFO L290 TraceCheckUtils]: 51: Hoare triple {10756#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10757#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:46,577 INFO L290 TraceCheckUtils]: 52: Hoare triple {10757#(<= SelectionSort_~lh~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10758#(<= SelectionSort_~i~0 4)} is VALID [2022-04-28 09:00:46,577 INFO L290 TraceCheckUtils]: 53: Hoare triple {10758#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-28 09:00:46,577 INFO L290 TraceCheckUtils]: 54: Hoare triple {10759#(<= ~n~0 4)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10759#(<= ~n~0 4)} is VALID [2022-04-28 09:00:46,577 INFO L290 TraceCheckUtils]: 55: Hoare triple {10759#(<= ~n~0 4)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10759#(<= ~n~0 4)} is VALID [2022-04-28 09:00:46,578 INFO L290 TraceCheckUtils]: 56: Hoare triple {10759#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-28 09:00:46,578 INFO L290 TraceCheckUtils]: 57: Hoare triple {10759#(<= ~n~0 4)} assume true; {10759#(<= ~n~0 4)} is VALID [2022-04-28 09:00:46,578 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10759#(<= ~n~0 4)} {10704#(<= 5 ~n~0)} #91#return; {10700#false} is VALID [2022-04-28 09:00:46,579 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-28 09:00:46,579 INFO L290 TraceCheckUtils]: 60: Hoare triple {10700#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10700#false} is VALID [2022-04-28 09:00:46,579 INFO L272 TraceCheckUtils]: 61: Hoare triple {10700#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {10700#false} is VALID [2022-04-28 09:00:46,579 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-28 09:00:46,579 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-28 09:00:46,579 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-28 09:00:46,579 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 0 proven. 133 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-28 09:00:46,579 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:46,579 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2054658482] [2022-04-28 09:00:46,579 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2054658482] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:46,580 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [602985750] [2022-04-28 09:00:46,580 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:00:46,580 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:46,580 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:46,581 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:46,582 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 09:00:46,661 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:00:46,661 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:46,662 INFO L263 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 09:00:46,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:46,674 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:46,831 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10699#true} is VALID [2022-04-28 09:00:46,832 INFO L290 TraceCheckUtils]: 1: Hoare triple {10699#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {10699#true} is VALID [2022-04-28 09:00:46,832 INFO L290 TraceCheckUtils]: 2: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-28 09:00:46,832 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10699#true} {10699#true} #95#return; {10699#true} is VALID [2022-04-28 09:00:46,832 INFO L272 TraceCheckUtils]: 4: Hoare triple {10699#true} call #t~ret10 := main(); {10699#true} is VALID [2022-04-28 09:00:46,832 INFO L290 TraceCheckUtils]: 5: Hoare triple {10699#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {10778#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:46,833 INFO L290 TraceCheckUtils]: 6: Hoare triple {10778#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10778#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:46,833 INFO L290 TraceCheckUtils]: 7: Hoare triple {10778#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10785#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:46,833 INFO L290 TraceCheckUtils]: 8: Hoare triple {10785#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10785#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:46,834 INFO L290 TraceCheckUtils]: 9: Hoare triple {10785#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {10792#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:46,834 INFO L290 TraceCheckUtils]: 10: Hoare triple {10792#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {10700#false} is VALID [2022-04-28 09:00:46,834 INFO L272 TraceCheckUtils]: 11: Hoare triple {10700#false} call SelectionSort(); {10700#false} is VALID [2022-04-28 09:00:46,834 INFO L290 TraceCheckUtils]: 12: Hoare triple {10700#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {10700#false} is VALID [2022-04-28 09:00:46,834 INFO L290 TraceCheckUtils]: 13: Hoare triple {10700#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10700#false} is VALID [2022-04-28 09:00:46,834 INFO L290 TraceCheckUtils]: 14: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 15: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 16: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 17: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 18: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 19: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 21: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 22: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 23: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 24: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 25: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 26: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 27: Hoare triple {10700#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,835 INFO L290 TraceCheckUtils]: 28: Hoare triple {10700#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 29: Hoare triple {10700#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 30: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 31: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 32: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 33: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 34: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 35: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 36: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 37: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 38: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 39: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 40: Hoare triple {10700#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 41: Hoare triple {10700#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10700#false} is VALID [2022-04-28 09:00:46,836 INFO L290 TraceCheckUtils]: 42: Hoare triple {10700#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 43: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 44: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 45: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 46: Hoare triple {10700#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 47: Hoare triple {10700#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 48: Hoare triple {10700#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 49: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 50: Hoare triple {10700#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 51: Hoare triple {10700#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 52: Hoare triple {10700#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 53: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 54: Hoare triple {10700#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 55: Hoare triple {10700#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 56: Hoare triple {10700#false} assume !(~lh~0 < ~n~0); {10700#false} is VALID [2022-04-28 09:00:46,837 INFO L290 TraceCheckUtils]: 57: Hoare triple {10700#false} assume true; {10700#false} is VALID [2022-04-28 09:00:46,838 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10700#false} {10700#false} #91#return; {10700#false} is VALID [2022-04-28 09:00:46,838 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-28 09:00:46,838 INFO L290 TraceCheckUtils]: 60: Hoare triple {10700#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10700#false} is VALID [2022-04-28 09:00:46,838 INFO L272 TraceCheckUtils]: 61: Hoare triple {10700#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {10700#false} is VALID [2022-04-28 09:00:46,838 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-28 09:00:46,838 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-28 09:00:46,838 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-28 09:00:46,838 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-28 09:00:46,838 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:46,969 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-28 09:00:46,969 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-28 09:00:46,969 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-28 09:00:46,969 INFO L272 TraceCheckUtils]: 61: Hoare triple {10700#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {10700#false} is VALID [2022-04-28 09:00:46,969 INFO L290 TraceCheckUtils]: 60: Hoare triple {10700#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10700#false} is VALID [2022-04-28 09:00:46,969 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-28 09:00:46,969 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10699#true} {10700#false} #91#return; {10700#false} is VALID [2022-04-28 09:00:46,969 INFO L290 TraceCheckUtils]: 57: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-28 09:00:46,969 INFO L290 TraceCheckUtils]: 56: Hoare triple {10699#true} assume !(~lh~0 < ~n~0); {10699#true} is VALID [2022-04-28 09:00:46,969 INFO L290 TraceCheckUtils]: 55: Hoare triple {10699#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 54: Hoare triple {10699#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 53: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 52: Hoare triple {10699#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 51: Hoare triple {10699#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 50: Hoare triple {10699#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 49: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 48: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 47: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 46: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 45: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 44: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 43: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,970 INFO L290 TraceCheckUtils]: 42: Hoare triple {10699#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 41: Hoare triple {10699#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 40: Hoare triple {10699#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 39: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 38: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 37: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 36: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 35: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 34: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 33: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 32: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 31: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 30: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,971 INFO L290 TraceCheckUtils]: 29: Hoare triple {10699#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 28: Hoare triple {10699#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 27: Hoare triple {10699#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 26: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 25: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 24: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 23: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 22: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 21: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 20: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 18: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-28 09:00:46,972 INFO L290 TraceCheckUtils]: 17: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,973 INFO L290 TraceCheckUtils]: 16: Hoare triple {10699#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {10699#true} is VALID [2022-04-28 09:00:46,973 INFO L290 TraceCheckUtils]: 15: Hoare triple {10699#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {10699#true} is VALID [2022-04-28 09:00:46,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {10699#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {10699#true} is VALID [2022-04-28 09:00:46,973 INFO L290 TraceCheckUtils]: 13: Hoare triple {10699#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {10699#true} is VALID [2022-04-28 09:00:46,973 INFO L290 TraceCheckUtils]: 12: Hoare triple {10699#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {10699#true} is VALID [2022-04-28 09:00:46,973 INFO L272 TraceCheckUtils]: 11: Hoare triple {10700#false} call SelectionSort(); {10699#true} is VALID [2022-04-28 09:00:46,973 INFO L290 TraceCheckUtils]: 10: Hoare triple {11120#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {10700#false} is VALID [2022-04-28 09:00:46,974 INFO L290 TraceCheckUtils]: 9: Hoare triple {11124#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11120#(<= 0 main_~i~1)} is VALID [2022-04-28 09:00:46,974 INFO L290 TraceCheckUtils]: 8: Hoare triple {11124#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11124#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:46,974 INFO L290 TraceCheckUtils]: 7: Hoare triple {10792#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11124#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:46,975 INFO L290 TraceCheckUtils]: 6: Hoare triple {10792#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {10792#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:46,975 INFO L290 TraceCheckUtils]: 5: Hoare triple {10699#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {10792#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:46,975 INFO L272 TraceCheckUtils]: 4: Hoare triple {10699#true} call #t~ret10 := main(); {10699#true} is VALID [2022-04-28 09:00:46,975 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10699#true} {10699#true} #95#return; {10699#true} is VALID [2022-04-28 09:00:46,975 INFO L290 TraceCheckUtils]: 2: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-28 09:00:46,975 INFO L290 TraceCheckUtils]: 1: Hoare triple {10699#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {10699#true} is VALID [2022-04-28 09:00:46,975 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10699#true} is VALID [2022-04-28 09:00:46,976 INFO L134 CoverageAnalysis]: Checked inductivity of 176 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-28 09:00:46,976 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [602985750] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:46,976 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:46,976 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 5, 5] total 16 [2022-04-28 09:00:46,976 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:46,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1253195843] [2022-04-28 09:00:46,976 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1253195843] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:46,976 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:46,976 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 09:00:46,976 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [476053947] [2022-04-28 09:00:46,977 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:46,978 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 65 [2022-04-28 09:00:46,978 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:46,978 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:47,008 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:47,009 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 09:00:47,009 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:47,009 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 09:00:47,009 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-28 09:00:47,009 INFO L87 Difference]: Start difference. First operand 76 states and 93 transitions. Second operand has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:47,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:47,727 INFO L93 Difference]: Finished difference Result 100 states and 121 transitions. [2022-04-28 09:00:47,727 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 09:00:47,728 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 65 [2022-04-28 09:00:47,728 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:47,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:47,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 99 transitions. [2022-04-28 09:00:47,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:47,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 99 transitions. [2022-04-28 09:00:47,730 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 99 transitions. [2022-04-28 09:00:48,025 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:48,026 INFO L225 Difference]: With dead ends: 100 [2022-04-28 09:00:48,026 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 09:00:48,026 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 126 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=173, Invalid=639, Unknown=0, NotChecked=0, Total=812 [2022-04-28 09:00:48,027 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 196 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 196 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 215 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:48,027 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [196 Valid, 29 Invalid, 215 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 09:00:48,027 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 09:00:48,162 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 77. [2022-04-28 09:00:48,162 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:48,171 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:48,171 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:48,171 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:48,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:48,172 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-28 09:00:48,172 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-28 09:00:48,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:48,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:48,173 INFO L74 IsIncluded]: Start isIncluded. First operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 84 states. [2022-04-28 09:00:48,173 INFO L87 Difference]: Start difference. First operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 84 states. [2022-04-28 09:00:48,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:48,175 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-28 09:00:48,175 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-28 09:00:48,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:48,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:48,176 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:48,176 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:48,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 77 states, 69 states have (on average 1.2608695652173914) internal successors, (87), 69 states have internal predecessors, (87), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:48,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 94 transitions. [2022-04-28 09:00:48,177 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 94 transitions. Word has length 65 [2022-04-28 09:00:48,177 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:48,177 INFO L495 AbstractCegarLoop]: Abstraction has 77 states and 94 transitions. [2022-04-28 09:00:48,177 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.9) internal successors, (39), 8 states have internal predecessors, (39), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:48,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 77 states and 94 transitions. [2022-04-28 09:00:48,306 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:48,306 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 94 transitions. [2022-04-28 09:00:48,306 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-28 09:00:48,306 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:48,306 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 10, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:48,322 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:48,507 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 09:00:48,507 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:48,507 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:48,507 INFO L85 PathProgramCache]: Analyzing trace with hash -509955284, now seen corresponding path program 27 times [2022-04-28 09:00:48,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:48,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [5030655] [2022-04-28 09:00:48,510 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:48,510 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:48,510 INFO L85 PathProgramCache]: Analyzing trace with hash -509955284, now seen corresponding path program 28 times [2022-04-28 09:00:48,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:48,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [321505009] [2022-04-28 09:00:48,510 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:48,510 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:48,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:48,548 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:48,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:48,554 INFO L290 TraceCheckUtils]: 0: Hoare triple {11758#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {11707#(<= 5 ~n~0)} assume true; {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,554 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11707#(<= 5 ~n~0)} {11702#true} #95#return; {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,557 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:48,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:48,623 INFO L290 TraceCheckUtils]: 0: Hoare triple {11759#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,624 INFO L290 TraceCheckUtils]: 3: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,624 INFO L290 TraceCheckUtils]: 4: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,625 INFO L290 TraceCheckUtils]: 5: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,625 INFO L290 TraceCheckUtils]: 6: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,626 INFO L290 TraceCheckUtils]: 10: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,626 INFO L290 TraceCheckUtils]: 11: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,626 INFO L290 TraceCheckUtils]: 12: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,627 INFO L290 TraceCheckUtils]: 15: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,627 INFO L290 TraceCheckUtils]: 16: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,628 INFO L290 TraceCheckUtils]: 17: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,628 INFO L290 TraceCheckUtils]: 18: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,628 INFO L290 TraceCheckUtils]: 19: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,629 INFO L290 TraceCheckUtils]: 21: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,629 INFO L290 TraceCheckUtils]: 22: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,629 INFO L290 TraceCheckUtils]: 23: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,630 INFO L290 TraceCheckUtils]: 24: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,630 INFO L290 TraceCheckUtils]: 25: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,630 INFO L290 TraceCheckUtils]: 26: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,630 INFO L290 TraceCheckUtils]: 27: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,631 INFO L290 TraceCheckUtils]: 28: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,631 INFO L290 TraceCheckUtils]: 29: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,631 INFO L290 TraceCheckUtils]: 30: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,632 INFO L290 TraceCheckUtils]: 31: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,632 INFO L290 TraceCheckUtils]: 32: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,632 INFO L290 TraceCheckUtils]: 33: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,632 INFO L290 TraceCheckUtils]: 34: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,633 INFO L290 TraceCheckUtils]: 35: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,633 INFO L290 TraceCheckUtils]: 36: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,633 INFO L290 TraceCheckUtils]: 37: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,633 INFO L290 TraceCheckUtils]: 38: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,634 INFO L290 TraceCheckUtils]: 39: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,634 INFO L290 TraceCheckUtils]: 40: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,634 INFO L290 TraceCheckUtils]: 41: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,635 INFO L290 TraceCheckUtils]: 42: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,635 INFO L290 TraceCheckUtils]: 43: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,635 INFO L290 TraceCheckUtils]: 44: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !(~i~0 < ~n~0); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,635 INFO L290 TraceCheckUtils]: 45: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,636 INFO L290 TraceCheckUtils]: 46: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11764#(<= SelectionSort_~lh~0 4)} is VALID [2022-04-28 09:00:48,636 INFO L290 TraceCheckUtils]: 47: Hoare triple {11764#(<= SelectionSort_~lh~0 4)} assume !(~lh~0 < ~n~0); {11765#(<= ~n~0 4)} is VALID [2022-04-28 09:00:48,636 INFO L290 TraceCheckUtils]: 48: Hoare triple {11765#(<= ~n~0 4)} assume true; {11765#(<= ~n~0 4)} is VALID [2022-04-28 09:00:48,637 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {11765#(<= ~n~0 4)} {11707#(<= 5 ~n~0)} #91#return; {11703#false} is VALID [2022-04-28 09:00:48,637 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11758#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:48,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {11758#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {11707#(<= 5 ~n~0)} assume true; {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11707#(<= 5 ~n~0)} {11702#true} #95#return; {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,639 INFO L272 TraceCheckUtils]: 4: Hoare triple {11707#(<= 5 ~n~0)} call #t~ret10 := main(); {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,639 INFO L290 TraceCheckUtils]: 5: Hoare triple {11707#(<= 5 ~n~0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,639 INFO L290 TraceCheckUtils]: 6: Hoare triple {11707#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {11707#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,640 INFO L290 TraceCheckUtils]: 8: Hoare triple {11707#(<= 5 ~n~0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {11707#(<= 5 ~n~0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,641 INFO L290 TraceCheckUtils]: 10: Hoare triple {11707#(<= 5 ~n~0)} assume !(~i~1 >= 0); {11707#(<= 5 ~n~0)} is VALID [2022-04-28 09:00:48,641 INFO L272 TraceCheckUtils]: 11: Hoare triple {11707#(<= 5 ~n~0)} call SelectionSort(); {11759#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:48,641 INFO L290 TraceCheckUtils]: 12: Hoare triple {11759#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,641 INFO L290 TraceCheckUtils]: 13: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,642 INFO L290 TraceCheckUtils]: 14: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,642 INFO L290 TraceCheckUtils]: 15: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,642 INFO L290 TraceCheckUtils]: 16: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,643 INFO L290 TraceCheckUtils]: 17: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,643 INFO L290 TraceCheckUtils]: 18: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,643 INFO L290 TraceCheckUtils]: 19: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,643 INFO L290 TraceCheckUtils]: 20: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,644 INFO L290 TraceCheckUtils]: 21: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,644 INFO L290 TraceCheckUtils]: 22: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,644 INFO L290 TraceCheckUtils]: 23: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,644 INFO L290 TraceCheckUtils]: 24: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,645 INFO L290 TraceCheckUtils]: 25: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,645 INFO L290 TraceCheckUtils]: 26: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,645 INFO L290 TraceCheckUtils]: 27: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11760#(<= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:48,646 INFO L290 TraceCheckUtils]: 28: Hoare triple {11760#(<= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,646 INFO L290 TraceCheckUtils]: 29: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,646 INFO L290 TraceCheckUtils]: 30: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,646 INFO L290 TraceCheckUtils]: 31: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,647 INFO L290 TraceCheckUtils]: 32: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,647 INFO L290 TraceCheckUtils]: 33: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,647 INFO L290 TraceCheckUtils]: 34: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,647 INFO L290 TraceCheckUtils]: 35: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,648 INFO L290 TraceCheckUtils]: 36: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,648 INFO L290 TraceCheckUtils]: 37: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,648 INFO L290 TraceCheckUtils]: 38: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,649 INFO L290 TraceCheckUtils]: 39: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} assume !(~i~0 < ~n~0); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,649 INFO L290 TraceCheckUtils]: 40: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11761#(<= SelectionSort_~lh~0 1)} is VALID [2022-04-28 09:00:48,649 INFO L290 TraceCheckUtils]: 41: Hoare triple {11761#(<= SelectionSort_~lh~0 1)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,649 INFO L290 TraceCheckUtils]: 42: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,650 INFO L290 TraceCheckUtils]: 43: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,650 INFO L290 TraceCheckUtils]: 44: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,650 INFO L290 TraceCheckUtils]: 45: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,650 INFO L290 TraceCheckUtils]: 46: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,651 INFO L290 TraceCheckUtils]: 47: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,651 INFO L290 TraceCheckUtils]: 48: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,651 INFO L290 TraceCheckUtils]: 49: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} assume !(~i~0 < ~n~0); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,652 INFO L290 TraceCheckUtils]: 50: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11762#(<= SelectionSort_~lh~0 2)} is VALID [2022-04-28 09:00:48,652 INFO L290 TraceCheckUtils]: 51: Hoare triple {11762#(<= SelectionSort_~lh~0 2)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,652 INFO L290 TraceCheckUtils]: 52: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,652 INFO L290 TraceCheckUtils]: 53: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,653 INFO L290 TraceCheckUtils]: 54: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,653 INFO L290 TraceCheckUtils]: 55: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,653 INFO L290 TraceCheckUtils]: 56: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} assume !(~i~0 < ~n~0); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,653 INFO L290 TraceCheckUtils]: 57: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11763#(<= SelectionSort_~lh~0 3)} is VALID [2022-04-28 09:00:48,654 INFO L290 TraceCheckUtils]: 58: Hoare triple {11763#(<= SelectionSort_~lh~0 3)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11764#(<= SelectionSort_~lh~0 4)} is VALID [2022-04-28 09:00:48,654 INFO L290 TraceCheckUtils]: 59: Hoare triple {11764#(<= SelectionSort_~lh~0 4)} assume !(~lh~0 < ~n~0); {11765#(<= ~n~0 4)} is VALID [2022-04-28 09:00:48,654 INFO L290 TraceCheckUtils]: 60: Hoare triple {11765#(<= ~n~0 4)} assume true; {11765#(<= ~n~0 4)} is VALID [2022-04-28 09:00:48,655 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11765#(<= ~n~0 4)} {11707#(<= 5 ~n~0)} #91#return; {11703#false} is VALID [2022-04-28 09:00:48,655 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-28 09:00:48,655 INFO L290 TraceCheckUtils]: 63: Hoare triple {11703#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11703#false} is VALID [2022-04-28 09:00:48,655 INFO L272 TraceCheckUtils]: 64: Hoare triple {11703#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {11703#false} is VALID [2022-04-28 09:00:48,655 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-28 09:00:48,655 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-28 09:00:48,655 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-28 09:00:48,656 INFO L134 CoverageAnalysis]: Checked inductivity of 207 backedges. 0 proven. 163 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-28 09:00:48,656 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:48,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [321505009] [2022-04-28 09:00:48,656 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [321505009] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:48,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [967871033] [2022-04-28 09:00:48,656 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:00:48,656 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:48,656 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:48,662 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:48,664 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 09:00:48,735 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:00:48,735 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:48,735 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 09:00:48,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:48,749 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:49,054 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11702#true} is VALID [2022-04-28 09:00:49,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {11702#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {11702#true} is VALID [2022-04-28 09:00:49,054 INFO L290 TraceCheckUtils]: 2: Hoare triple {11702#true} assume true; {11702#true} is VALID [2022-04-28 09:00:49,054 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11702#true} {11702#true} #95#return; {11702#true} is VALID [2022-04-28 09:00:49,054 INFO L272 TraceCheckUtils]: 4: Hoare triple {11702#true} call #t~ret10 := main(); {11702#true} is VALID [2022-04-28 09:00:49,054 INFO L290 TraceCheckUtils]: 5: Hoare triple {11702#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {11702#true} is VALID [2022-04-28 09:00:49,054 INFO L290 TraceCheckUtils]: 6: Hoare triple {11702#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11702#true} is VALID [2022-04-28 09:00:49,055 INFO L290 TraceCheckUtils]: 7: Hoare triple {11702#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11702#true} is VALID [2022-04-28 09:00:49,055 INFO L290 TraceCheckUtils]: 8: Hoare triple {11702#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11702#true} is VALID [2022-04-28 09:00:49,055 INFO L290 TraceCheckUtils]: 9: Hoare triple {11702#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11702#true} is VALID [2022-04-28 09:00:49,055 INFO L290 TraceCheckUtils]: 10: Hoare triple {11702#true} assume !(~i~1 >= 0); {11702#true} is VALID [2022-04-28 09:00:49,055 INFO L272 TraceCheckUtils]: 11: Hoare triple {11702#true} call SelectionSort(); {11702#true} is VALID [2022-04-28 09:00:49,055 INFO L290 TraceCheckUtils]: 12: Hoare triple {11702#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {11702#true} is VALID [2022-04-28 09:00:49,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {11702#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,056 INFO L290 TraceCheckUtils]: 14: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,056 INFO L290 TraceCheckUtils]: 15: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,056 INFO L290 TraceCheckUtils]: 16: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,057 INFO L290 TraceCheckUtils]: 17: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,057 INFO L290 TraceCheckUtils]: 18: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,057 INFO L290 TraceCheckUtils]: 19: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,057 INFO L290 TraceCheckUtils]: 20: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,058 INFO L290 TraceCheckUtils]: 21: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,058 INFO L290 TraceCheckUtils]: 22: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11838#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,059 INFO L290 TraceCheckUtils]: 23: Hoare triple {11838#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:49,059 INFO L290 TraceCheckUtils]: 24: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:49,059 INFO L290 TraceCheckUtils]: 25: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:49,059 INFO L290 TraceCheckUtils]: 26: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:49,060 INFO L290 TraceCheckUtils]: 27: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:49,060 INFO L290 TraceCheckUtils]: 28: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,060 INFO L290 TraceCheckUtils]: 29: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,061 INFO L290 TraceCheckUtils]: 30: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,061 INFO L290 TraceCheckUtils]: 31: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,061 INFO L290 TraceCheckUtils]: 32: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,061 INFO L290 TraceCheckUtils]: 33: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,062 INFO L290 TraceCheckUtils]: 34: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,062 INFO L290 TraceCheckUtils]: 35: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,062 INFO L290 TraceCheckUtils]: 36: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,063 INFO L290 TraceCheckUtils]: 37: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,063 INFO L290 TraceCheckUtils]: 38: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,063 INFO L290 TraceCheckUtils]: 39: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !(~i~0 < ~n~0); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,063 INFO L290 TraceCheckUtils]: 40: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,064 INFO L290 TraceCheckUtils]: 41: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,064 INFO L290 TraceCheckUtils]: 42: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,064 INFO L290 TraceCheckUtils]: 43: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,065 INFO L290 TraceCheckUtils]: 44: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,065 INFO L290 TraceCheckUtils]: 45: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,065 INFO L290 TraceCheckUtils]: 46: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,065 INFO L290 TraceCheckUtils]: 47: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,066 INFO L290 TraceCheckUtils]: 48: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,066 INFO L290 TraceCheckUtils]: 49: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !(~i~0 < ~n~0); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,066 INFO L290 TraceCheckUtils]: 50: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,067 INFO L290 TraceCheckUtils]: 51: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,067 INFO L290 TraceCheckUtils]: 52: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,067 INFO L290 TraceCheckUtils]: 53: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,067 INFO L290 TraceCheckUtils]: 54: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,068 INFO L290 TraceCheckUtils]: 55: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,068 INFO L290 TraceCheckUtils]: 56: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !(~i~0 < ~n~0); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,068 INFO L290 TraceCheckUtils]: 57: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,069 INFO L290 TraceCheckUtils]: 58: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11951#(< SelectionSort_~lh~0 ~n~0)} is VALID [2022-04-28 09:00:49,069 INFO L290 TraceCheckUtils]: 59: Hoare triple {11951#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {11703#false} is VALID [2022-04-28 09:00:49,069 INFO L290 TraceCheckUtils]: 60: Hoare triple {11703#false} assume true; {11703#false} is VALID [2022-04-28 09:00:49,069 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11703#false} {11702#true} #91#return; {11703#false} is VALID [2022-04-28 09:00:49,069 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-28 09:00:49,069 INFO L290 TraceCheckUtils]: 63: Hoare triple {11703#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11703#false} is VALID [2022-04-28 09:00:49,069 INFO L272 TraceCheckUtils]: 64: Hoare triple {11703#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {11703#false} is VALID [2022-04-28 09:00:49,069 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-28 09:00:49,069 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-28 09:00:49,069 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-28 09:00:49,070 INFO L134 CoverageAnalysis]: Checked inductivity of 207 backedges. 16 proven. 169 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 09:00:49,070 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:49,322 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-28 09:00:49,322 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-28 09:00:49,322 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-28 09:00:49,322 INFO L272 TraceCheckUtils]: 64: Hoare triple {11703#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {11703#false} is VALID [2022-04-28 09:00:49,322 INFO L290 TraceCheckUtils]: 63: Hoare triple {11703#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11703#false} is VALID [2022-04-28 09:00:49,323 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-28 09:00:49,323 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11703#false} {11702#true} #91#return; {11703#false} is VALID [2022-04-28 09:00:49,323 INFO L290 TraceCheckUtils]: 60: Hoare triple {11703#false} assume true; {11703#false} is VALID [2022-04-28 09:00:49,323 INFO L290 TraceCheckUtils]: 59: Hoare triple {11951#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {11703#false} is VALID [2022-04-28 09:00:49,323 INFO L290 TraceCheckUtils]: 58: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11951#(< SelectionSort_~lh~0 ~n~0)} is VALID [2022-04-28 09:00:49,324 INFO L290 TraceCheckUtils]: 57: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,324 INFO L290 TraceCheckUtils]: 56: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !(~i~0 < ~n~0); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,324 INFO L290 TraceCheckUtils]: 55: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,325 INFO L290 TraceCheckUtils]: 54: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,325 INFO L290 TraceCheckUtils]: 53: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,325 INFO L290 TraceCheckUtils]: 52: Hoare triple {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,325 INFO L290 TraceCheckUtils]: 51: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11929#(< (+ SelectionSort_~lh~0 1) ~n~0)} is VALID [2022-04-28 09:00:49,326 INFO L290 TraceCheckUtils]: 50: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,326 INFO L290 TraceCheckUtils]: 49: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !(~i~0 < ~n~0); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,326 INFO L290 TraceCheckUtils]: 48: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,327 INFO L290 TraceCheckUtils]: 47: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,327 INFO L290 TraceCheckUtils]: 46: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,327 INFO L290 TraceCheckUtils]: 45: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,327 INFO L290 TraceCheckUtils]: 44: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,328 INFO L290 TraceCheckUtils]: 43: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,328 INFO L290 TraceCheckUtils]: 42: Hoare triple {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,328 INFO L290 TraceCheckUtils]: 41: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11898#(< (+ SelectionSort_~lh~0 2) ~n~0)} is VALID [2022-04-28 09:00:49,329 INFO L290 TraceCheckUtils]: 40: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,329 INFO L290 TraceCheckUtils]: 39: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !(~i~0 < ~n~0); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,329 INFO L290 TraceCheckUtils]: 38: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,329 INFO L290 TraceCheckUtils]: 37: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,330 INFO L290 TraceCheckUtils]: 36: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,330 INFO L290 TraceCheckUtils]: 35: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,330 INFO L290 TraceCheckUtils]: 34: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,330 INFO L290 TraceCheckUtils]: 33: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,331 INFO L290 TraceCheckUtils]: 32: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,331 INFO L290 TraceCheckUtils]: 31: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,331 INFO L290 TraceCheckUtils]: 30: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,331 INFO L290 TraceCheckUtils]: 29: Hoare triple {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,332 INFO L290 TraceCheckUtils]: 28: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {11858#(< (+ SelectionSort_~lh~0 3) ~n~0)} is VALID [2022-04-28 09:00:49,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:49,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume !(~i~0 < ~n~0); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:49,333 INFO L290 TraceCheckUtils]: 25: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:49,333 INFO L290 TraceCheckUtils]: 24: Hoare triple {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:49,333 INFO L290 TraceCheckUtils]: 23: Hoare triple {11838#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11842#(< (+ SelectionSort_~lh~0 4) ~n~0)} is VALID [2022-04-28 09:00:49,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11838#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,334 INFO L290 TraceCheckUtils]: 21: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,334 INFO L290 TraceCheckUtils]: 20: Hoare triple {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,335 INFO L290 TraceCheckUtils]: 19: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11828#(<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,335 INFO L290 TraceCheckUtils]: 18: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,335 INFO L290 TraceCheckUtils]: 17: Hoare triple {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,336 INFO L290 TraceCheckUtils]: 16: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {11818#(<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,336 INFO L290 TraceCheckUtils]: 15: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,336 INFO L290 TraceCheckUtils]: 14: Hoare triple {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,337 INFO L290 TraceCheckUtils]: 13: Hoare triple {11702#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {11808#(<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)} is VALID [2022-04-28 09:00:49,337 INFO L290 TraceCheckUtils]: 12: Hoare triple {11702#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {11702#true} is VALID [2022-04-28 09:00:49,337 INFO L272 TraceCheckUtils]: 11: Hoare triple {11702#true} call SelectionSort(); {11702#true} is VALID [2022-04-28 09:00:49,337 INFO L290 TraceCheckUtils]: 10: Hoare triple {11702#true} assume !(~i~1 >= 0); {11702#true} is VALID [2022-04-28 09:00:49,337 INFO L290 TraceCheckUtils]: 9: Hoare triple {11702#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11702#true} is VALID [2022-04-28 09:00:49,337 INFO L290 TraceCheckUtils]: 8: Hoare triple {11702#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11702#true} is VALID [2022-04-28 09:00:49,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {11702#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {11702#true} is VALID [2022-04-28 09:00:49,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {11702#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {11702#true} is VALID [2022-04-28 09:00:49,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {11702#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {11702#true} is VALID [2022-04-28 09:00:49,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {11702#true} call #t~ret10 := main(); {11702#true} is VALID [2022-04-28 09:00:49,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11702#true} {11702#true} #95#return; {11702#true} is VALID [2022-04-28 09:00:49,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {11702#true} assume true; {11702#true} is VALID [2022-04-28 09:00:49,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {11702#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {11702#true} is VALID [2022-04-28 09:00:49,338 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11702#true} is VALID [2022-04-28 09:00:49,338 INFO L134 CoverageAnalysis]: Checked inductivity of 207 backedges. 16 proven. 169 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2022-04-28 09:00:49,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [967871033] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:49,338 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:49,338 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-28 09:00:49,338 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:49,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [5030655] [2022-04-28 09:00:49,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [5030655] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:49,339 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:49,339 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 09:00:49,339 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [590224489] [2022-04-28 09:00:49,339 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:49,339 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 68 [2022-04-28 09:00:49,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:49,339 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:49,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:49,370 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 09:00:49,370 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:49,370 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 09:00:49,370 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-28 09:00:49,370 INFO L87 Difference]: Start difference. First operand 77 states and 94 transitions. Second operand has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:49,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:49,986 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-28 09:00:49,986 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 09:00:49,986 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 68 [2022-04-28 09:00:49,986 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:49,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:49,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 88 transitions. [2022-04-28 09:00:49,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:49,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 88 transitions. [2022-04-28 09:00:49,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 88 transitions. [2022-04-28 09:00:50,065 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:50,066 INFO L225 Difference]: With dead ends: 104 [2022-04-28 09:00:50,066 INFO L226 Difference]: Without dead ends: 91 [2022-04-28 09:00:50,066 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 128 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=172, Invalid=698, Unknown=0, NotChecked=0, Total=870 [2022-04-28 09:00:50,067 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 164 mSDsluCounter, 6 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 164 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 178 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:50,067 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [164 Valid, 29 Invalid, 178 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 149 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 09:00:50,067 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-28 09:00:50,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 83. [2022-04-28 09:00:50,225 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:50,225 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:50,225 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:50,225 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:50,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:50,226 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-28 09:00:50,226 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-28 09:00:50,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:50,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:50,227 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 91 states. [2022-04-28 09:00:50,227 INFO L87 Difference]: Start difference. First operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 91 states. [2022-04-28 09:00:50,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:50,228 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-28 09:00:50,228 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-28 09:00:50,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:50,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:50,228 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:50,228 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:50,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 75 states have (on average 1.2666666666666666) internal successors, (95), 75 states have internal predecessors, (95), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:50,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 102 transitions. [2022-04-28 09:00:50,229 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 102 transitions. Word has length 68 [2022-04-28 09:00:50,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:50,229 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 102 transitions. [2022-04-28 09:00:50,230 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 4.2) internal successors, (42), 8 states have internal predecessors, (42), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:50,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 102 transitions. [2022-04-28 09:00:50,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:50,390 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 102 transitions. [2022-04-28 09:00:50,390 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-28 09:00:50,390 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:50,390 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:50,414 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:50,607 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:50,607 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:50,607 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:50,607 INFO L85 PathProgramCache]: Analyzing trace with hash 992555844, now seen corresponding path program 29 times [2022-04-28 09:00:50,607 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:50,607 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [544140115] [2022-04-28 09:00:50,610 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:50,610 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:50,610 INFO L85 PathProgramCache]: Analyzing trace with hash 992555844, now seen corresponding path program 30 times [2022-04-28 09:00:50,610 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:50,610 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1585607010] [2022-04-28 09:00:50,610 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:50,610 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:50,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:50,659 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:50,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:50,662 INFO L290 TraceCheckUtils]: 0: Hoare triple {12820#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {12758#true} is VALID [2022-04-28 09:00:50,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-28 09:00:50,662 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-28 09:00:50,666 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 09:00:50,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:50,683 INFO L290 TraceCheckUtils]: 0: Hoare triple {12821#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 3: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 4: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 6: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 9: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 10: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 12: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,684 INFO L290 TraceCheckUtils]: 13: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 14: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 16: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 17: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 18: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 19: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 20: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 21: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 22: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 23: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 24: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 25: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,685 INFO L290 TraceCheckUtils]: 27: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 28: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 29: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 30: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 31: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 32: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 33: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 34: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 35: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 36: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 37: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 38: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 40: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:50,686 INFO L290 TraceCheckUtils]: 41: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 42: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 43: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 44: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 45: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 46: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 47: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 48: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 50: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 51: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L290 TraceCheckUtils]: 52: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-28 09:00:50,687 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-28 09:00:50,688 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12820#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:50,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {12820#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {12758#true} is VALID [2022-04-28 09:00:50,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-28 09:00:50,688 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-28 09:00:50,688 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-28 09:00:50,689 INFO L290 TraceCheckUtils]: 5: Hoare triple {12758#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {12763#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:50,689 INFO L290 TraceCheckUtils]: 6: Hoare triple {12763#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12763#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:50,689 INFO L290 TraceCheckUtils]: 7: Hoare triple {12763#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {12764#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:50,690 INFO L290 TraceCheckUtils]: 8: Hoare triple {12764#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12764#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:50,690 INFO L290 TraceCheckUtils]: 9: Hoare triple {12764#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {12765#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:50,690 INFO L290 TraceCheckUtils]: 10: Hoare triple {12765#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-28 09:00:50,690 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12821#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:50,690 INFO L290 TraceCheckUtils]: 12: Hoare triple {12821#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {12758#true} is VALID [2022-04-28 09:00:50,690 INFO L290 TraceCheckUtils]: 13: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:50,690 INFO L290 TraceCheckUtils]: 14: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 15: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 16: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 17: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 18: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 19: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 20: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 21: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 22: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 23: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 24: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 25: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,691 INFO L290 TraceCheckUtils]: 27: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 28: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 29: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 30: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 31: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 32: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 33: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 34: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 35: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 36: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 37: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 38: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 40: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,692 INFO L290 TraceCheckUtils]: 41: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 42: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 43: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 44: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 45: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 46: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 47: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 48: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 50: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 51: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 52: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 53: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 54: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 55: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:50,693 INFO L290 TraceCheckUtils]: 56: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 57: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 58: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 59: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 60: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 61: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 62: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 63: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 64: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-28 09:00:50,694 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 67: Hoare triple {12759#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12759#false} is VALID [2022-04-28 09:00:50,694 INFO L272 TraceCheckUtils]: 68: Hoare triple {12759#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {12759#false} is VALID [2022-04-28 09:00:50,694 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-28 09:00:50,695 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-28 09:00:50,695 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-28 09:00:50,695 INFO L134 CoverageAnalysis]: Checked inductivity of 234 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-28 09:00:50,695 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:50,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1585607010] [2022-04-28 09:00:50,695 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1585607010] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:50,695 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1404058032] [2022-04-28 09:00:50,695 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 09:00:50,695 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:50,695 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:50,696 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:50,697 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 09:00:50,786 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 09:00:50,786 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:50,787 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 09:00:50,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:50,799 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:50,936 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12758#true} is VALID [2022-04-28 09:00:50,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {12758#true} is VALID [2022-04-28 09:00:50,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-28 09:00:50,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-28 09:00:50,936 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-28 09:00:50,937 INFO L290 TraceCheckUtils]: 5: Hoare triple {12758#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {12763#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:50,937 INFO L290 TraceCheckUtils]: 6: Hoare triple {12763#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12763#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:50,937 INFO L290 TraceCheckUtils]: 7: Hoare triple {12763#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {12764#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:50,938 INFO L290 TraceCheckUtils]: 8: Hoare triple {12764#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12764#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:50,938 INFO L290 TraceCheckUtils]: 9: Hoare triple {12764#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {12765#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:50,938 INFO L290 TraceCheckUtils]: 10: Hoare triple {12765#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 12: Hoare triple {12759#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 13: Hoare triple {12759#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 14: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 15: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 16: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 17: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 18: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 19: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 20: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 21: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 22: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 23: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,939 INFO L290 TraceCheckUtils]: 24: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 25: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 26: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {12759#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 28: Hoare triple {12759#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 29: Hoare triple {12759#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 30: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 31: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 32: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 33: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 35: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 36: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 37: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 38: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-28 09:00:50,940 INFO L290 TraceCheckUtils]: 39: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 40: Hoare triple {12759#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 41: Hoare triple {12759#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 42: Hoare triple {12759#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 43: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 44: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 45: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 46: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 47: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 48: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 49: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 50: Hoare triple {12759#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 51: Hoare triple {12759#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 52: Hoare triple {12759#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12759#false} is VALID [2022-04-28 09:00:50,941 INFO L290 TraceCheckUtils]: 53: Hoare triple {12759#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 54: Hoare triple {12759#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 55: Hoare triple {12759#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 56: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 57: Hoare triple {12759#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 58: Hoare triple {12759#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 59: Hoare triple {12759#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 60: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 61: Hoare triple {12759#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 62: Hoare triple {12759#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 63: Hoare triple {12759#false} assume !(~lh~0 < ~n~0); {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 64: Hoare triple {12759#false} assume true; {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12759#false} {12759#false} #91#return; {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-28 09:00:50,942 INFO L290 TraceCheckUtils]: 67: Hoare triple {12759#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12759#false} is VALID [2022-04-28 09:00:50,943 INFO L272 TraceCheckUtils]: 68: Hoare triple {12759#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {12759#false} is VALID [2022-04-28 09:00:50,943 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-28 09:00:50,943 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-28 09:00:50,943 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-28 09:00:50,943 INFO L134 CoverageAnalysis]: Checked inductivity of 234 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-28 09:00:50,943 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:51,071 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-28 09:00:51,072 INFO L272 TraceCheckUtils]: 68: Hoare triple {12759#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {12759#false} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 67: Hoare triple {12759#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12759#false} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-28 09:00:51,072 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 64: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 63: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 62: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 61: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 60: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 59: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:51,072 INFO L290 TraceCheckUtils]: 58: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 57: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 56: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 55: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 54: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 53: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 52: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 51: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 50: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 48: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 47: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 46: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 45: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 44: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:51,073 INFO L290 TraceCheckUtils]: 43: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 42: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 41: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 40: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 38: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 37: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 36: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 35: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 34: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 33: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 32: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 31: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 30: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,074 INFO L290 TraceCheckUtils]: 29: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 28: Hoare triple {12758#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 27: Hoare triple {12758#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 25: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 24: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 23: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 22: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 21: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 20: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 19: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 18: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 17: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 16: Hoare triple {12758#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 15: Hoare triple {12758#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {12758#true} is VALID [2022-04-28 09:00:51,075 INFO L290 TraceCheckUtils]: 14: Hoare triple {12758#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {12758#true} is VALID [2022-04-28 09:00:51,076 INFO L290 TraceCheckUtils]: 13: Hoare triple {12758#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {12758#true} is VALID [2022-04-28 09:00:51,076 INFO L290 TraceCheckUtils]: 12: Hoare triple {12758#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {12758#true} is VALID [2022-04-28 09:00:51,076 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12758#true} is VALID [2022-04-28 09:00:51,076 INFO L290 TraceCheckUtils]: 10: Hoare triple {13221#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-28 09:00:51,076 INFO L290 TraceCheckUtils]: 9: Hoare triple {13225#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13221#(<= 0 main_~i~1)} is VALID [2022-04-28 09:00:51,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {13225#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13225#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:51,077 INFO L290 TraceCheckUtils]: 7: Hoare triple {12765#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13225#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:51,077 INFO L290 TraceCheckUtils]: 6: Hoare triple {12765#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {12765#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:51,078 INFO L290 TraceCheckUtils]: 5: Hoare triple {12758#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {12765#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:51,078 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-28 09:00:51,078 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-28 09:00:51,078 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-28 09:00:51,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {12758#true} is VALID [2022-04-28 09:00:51,078 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12758#true} is VALID [2022-04-28 09:00:51,078 INFO L134 CoverageAnalysis]: Checked inductivity of 234 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-28 09:00:51,078 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1404058032] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:51,078 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:51,079 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 9 [2022-04-28 09:00:51,079 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:51,079 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [544140115] [2022-04-28 09:00:51,079 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [544140115] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:51,079 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:51,079 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 09:00:51,079 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [487751745] [2022-04-28 09:00:51,079 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:51,079 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 72 [2022-04-28 09:00:51,080 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:51,080 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:51,096 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:51,096 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 09:00:51,096 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:51,097 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 09:00:51,097 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-28 09:00:51,097 INFO L87 Difference]: Start difference. First operand 83 states and 102 transitions. Second operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:51,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:51,473 INFO L93 Difference]: Finished difference Result 158 states and 196 transitions. [2022-04-28 09:00:51,474 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 09:00:51,474 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 72 [2022-04-28 09:00:51,474 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:51,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:51,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-04-28 09:00:51,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:51,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-04-28 09:00:51,475 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 71 transitions. [2022-04-28 09:00:51,538 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:51,545 INFO L225 Difference]: With dead ends: 158 [2022-04-28 09:00:51,546 INFO L226 Difference]: Without dead ends: 86 [2022-04-28 09:00:51,546 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 158 GetRequests, 146 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2022-04-28 09:00:51,547 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 48 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:51,547 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 27 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 09:00:51,552 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-28 09:00:51,713 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 85. [2022-04-28 09:00:51,713 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:51,713 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:51,714 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:51,714 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:51,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:51,715 INFO L93 Difference]: Finished difference Result 86 states and 105 transitions. [2022-04-28 09:00:51,715 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 105 transitions. [2022-04-28 09:00:51,715 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:51,715 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:51,715 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 86 states. [2022-04-28 09:00:51,715 INFO L87 Difference]: Start difference. First operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 86 states. [2022-04-28 09:00:51,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:51,716 INFO L93 Difference]: Finished difference Result 86 states and 105 transitions. [2022-04-28 09:00:51,716 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 105 transitions. [2022-04-28 09:00:51,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:51,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:51,717 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:51,717 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:51,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 77 states have (on average 1.2597402597402598) internal successors, (97), 77 states have internal predecessors, (97), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:51,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 104 transitions. [2022-04-28 09:00:51,718 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 104 transitions. Word has length 72 [2022-04-28 09:00:51,718 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:51,718 INFO L495 AbstractCegarLoop]: Abstraction has 85 states and 104 transitions. [2022-04-28 09:00:51,718 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.2857142857142856) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:51,719 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 104 transitions. [2022-04-28 09:00:51,874 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:51,874 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 104 transitions. [2022-04-28 09:00:51,874 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 09:00:51,875 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:51,875 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:51,892 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:52,075 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:52,076 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:52,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:52,076 INFO L85 PathProgramCache]: Analyzing trace with hash -1493400922, now seen corresponding path program 31 times [2022-04-28 09:00:52,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:52,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1132124933] [2022-04-28 09:00:52,078 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:52,078 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:52,078 INFO L85 PathProgramCache]: Analyzing trace with hash -1493400922, now seen corresponding path program 32 times [2022-04-28 09:00:52,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:52,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1364462272] [2022-04-28 09:00:52,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:52,078 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:52,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:52,138 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:52,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:52,141 INFO L290 TraceCheckUtils]: 0: Hoare triple {13987#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {13924#true} is VALID [2022-04-28 09:00:52,141 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-28 09:00:52,141 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-28 09:00:52,147 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-28 09:00:52,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:52,165 INFO L290 TraceCheckUtils]: 0: Hoare triple {13988#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {13924#true} is VALID [2022-04-28 09:00:52,165 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 3: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 4: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 6: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 7: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 8: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 10: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 12: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 13: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 14: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,166 INFO L290 TraceCheckUtils]: 15: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 16: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 17: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 19: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 21: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 22: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 23: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 25: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 26: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 27: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,167 INFO L290 TraceCheckUtils]: 29: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 30: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 31: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 32: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 33: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 34: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 35: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 36: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 37: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 38: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 39: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 40: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 42: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,168 INFO L290 TraceCheckUtils]: 43: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,169 INFO L290 TraceCheckUtils]: 44: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,169 INFO L290 TraceCheckUtils]: 45: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,169 INFO L290 TraceCheckUtils]: 46: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,169 INFO L290 TraceCheckUtils]: 47: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,169 INFO L290 TraceCheckUtils]: 48: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,169 INFO L290 TraceCheckUtils]: 49: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,169 INFO L290 TraceCheckUtils]: 50: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,169 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,169 INFO L290 TraceCheckUtils]: 52: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-28 09:00:52,169 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-28 09:00:52,170 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13987#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:52,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {13987#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {13924#true} is VALID [2022-04-28 09:00:52,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-28 09:00:52,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-28 09:00:52,170 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-28 09:00:52,170 INFO L290 TraceCheckUtils]: 5: Hoare triple {13924#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {13929#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:52,171 INFO L290 TraceCheckUtils]: 6: Hoare triple {13929#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13929#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:52,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {13929#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13930#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:52,171 INFO L290 TraceCheckUtils]: 8: Hoare triple {13930#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13930#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:52,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {13930#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13931#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:52,172 INFO L290 TraceCheckUtils]: 10: Hoare triple {13931#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13931#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:52,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {13931#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13932#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:52,173 INFO L290 TraceCheckUtils]: 12: Hoare triple {13932#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-28 09:00:52,173 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13988#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:52,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {13988#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {13924#true} is VALID [2022-04-28 09:00:52,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,173 INFO L290 TraceCheckUtils]: 16: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,173 INFO L290 TraceCheckUtils]: 17: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,173 INFO L290 TraceCheckUtils]: 18: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,173 INFO L290 TraceCheckUtils]: 20: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,173 INFO L290 TraceCheckUtils]: 21: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,173 INFO L290 TraceCheckUtils]: 22: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 23: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 24: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 25: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 26: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 27: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 29: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 30: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 31: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 32: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 33: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 34: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 35: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 36: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,174 INFO L290 TraceCheckUtils]: 37: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 38: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 39: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 40: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 42: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 43: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 44: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 45: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 46: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 47: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 48: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 49: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 50: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,175 INFO L290 TraceCheckUtils]: 52: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 53: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 54: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 55: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 56: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 57: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 58: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 59: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 60: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 61: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 62: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 63: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 64: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 65: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,176 INFO L290 TraceCheckUtils]: 66: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-28 09:00:52,177 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-28 09:00:52,177 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-28 09:00:52,177 INFO L290 TraceCheckUtils]: 69: Hoare triple {13925#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13925#false} is VALID [2022-04-28 09:00:52,177 INFO L272 TraceCheckUtils]: 70: Hoare triple {13925#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {13925#false} is VALID [2022-04-28 09:00:52,177 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-28 09:00:52,177 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-28 09:00:52,177 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-28 09:00:52,177 INFO L134 CoverageAnalysis]: Checked inductivity of 239 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-28 09:00:52,177 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:52,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1364462272] [2022-04-28 09:00:52,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1364462272] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:52,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [874410575] [2022-04-28 09:00:52,178 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:00:52,178 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:52,178 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:52,179 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:52,211 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 09:00:52,278 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:00:52,278 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:52,279 INFO L263 TraceCheckSpWp]: Trace formula consists of 309 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 09:00:52,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:52,293 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:52,444 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13924#true} is VALID [2022-04-28 09:00:52,444 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {13924#true} is VALID [2022-04-28 09:00:52,444 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-28 09:00:52,444 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-28 09:00:52,444 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-28 09:00:52,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {13924#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {13929#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:52,445 INFO L290 TraceCheckUtils]: 6: Hoare triple {13929#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13929#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:52,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {13929#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13930#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:52,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {13930#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13930#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:52,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {13930#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13931#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:52,447 INFO L290 TraceCheckUtils]: 10: Hoare triple {13931#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13931#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:52,447 INFO L290 TraceCheckUtils]: 11: Hoare triple {13931#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13932#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {13932#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 14: Hoare triple {13925#false} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 15: Hoare triple {13925#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 16: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 17: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 19: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 21: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 22: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 23: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-28 09:00:52,448 INFO L290 TraceCheckUtils]: 24: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 25: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 26: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 27: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 28: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 29: Hoare triple {13925#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 30: Hoare triple {13925#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 31: Hoare triple {13925#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 32: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 33: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 34: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 35: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 36: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 37: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 38: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,449 INFO L290 TraceCheckUtils]: 39: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 40: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 41: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 42: Hoare triple {13925#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 43: Hoare triple {13925#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 44: Hoare triple {13925#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 45: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 46: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 47: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 48: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 49: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 50: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 51: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 52: Hoare triple {13925#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,450 INFO L290 TraceCheckUtils]: 53: Hoare triple {13925#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 54: Hoare triple {13925#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 55: Hoare triple {13925#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 56: Hoare triple {13925#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 57: Hoare triple {13925#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 58: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 59: Hoare triple {13925#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 60: Hoare triple {13925#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 61: Hoare triple {13925#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 62: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 63: Hoare triple {13925#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 64: Hoare triple {13925#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 65: Hoare triple {13925#false} assume !(~lh~0 < ~n~0); {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L290 TraceCheckUtils]: 66: Hoare triple {13925#false} assume true; {13925#false} is VALID [2022-04-28 09:00:52,451 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13925#false} {13925#false} #91#return; {13925#false} is VALID [2022-04-28 09:00:52,452 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-28 09:00:52,452 INFO L290 TraceCheckUtils]: 69: Hoare triple {13925#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13925#false} is VALID [2022-04-28 09:00:52,452 INFO L272 TraceCheckUtils]: 70: Hoare triple {13925#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {13925#false} is VALID [2022-04-28 09:00:52,452 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-28 09:00:52,452 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-28 09:00:52,452 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-28 09:00:52,452 INFO L134 CoverageAnalysis]: Checked inductivity of 239 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-28 09:00:52,452 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:52,588 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-28 09:00:52,589 INFO L272 TraceCheckUtils]: 70: Hoare triple {13925#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {13925#false} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 69: Hoare triple {13925#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13925#false} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-28 09:00:52,589 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 66: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 65: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 64: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 63: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 62: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 61: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 60: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,589 INFO L290 TraceCheckUtils]: 59: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 58: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 57: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 56: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 55: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 54: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 53: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 52: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 50: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 49: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 48: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 47: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 46: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,590 INFO L290 TraceCheckUtils]: 45: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 44: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 43: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 42: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 40: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 39: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 38: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 37: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 36: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 35: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 34: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 33: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 32: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,591 INFO L290 TraceCheckUtils]: 31: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 30: Hoare triple {13924#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 29: Hoare triple {13924#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 27: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 26: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 25: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 24: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 23: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 22: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 21: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 20: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 19: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 18: Hoare triple {13924#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 17: Hoare triple {13924#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {13924#true} is VALID [2022-04-28 09:00:52,592 INFO L290 TraceCheckUtils]: 16: Hoare triple {13924#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {13924#true} is VALID [2022-04-28 09:00:52,593 INFO L290 TraceCheckUtils]: 15: Hoare triple {13924#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {13924#true} is VALID [2022-04-28 09:00:52,593 INFO L290 TraceCheckUtils]: 14: Hoare triple {13924#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {13924#true} is VALID [2022-04-28 09:00:52,593 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13924#true} is VALID [2022-04-28 09:00:52,593 INFO L290 TraceCheckUtils]: 12: Hoare triple {14394#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-28 09:00:52,593 INFO L290 TraceCheckUtils]: 11: Hoare triple {13932#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {14394#(<= 0 main_~i~1)} is VALID [2022-04-28 09:00:52,594 INFO L290 TraceCheckUtils]: 10: Hoare triple {13932#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13932#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:52,594 INFO L290 TraceCheckUtils]: 9: Hoare triple {13931#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13932#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:52,594 INFO L290 TraceCheckUtils]: 8: Hoare triple {13931#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13931#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:52,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {13930#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {13931#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:52,595 INFO L290 TraceCheckUtils]: 6: Hoare triple {13930#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {13930#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:52,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {13924#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {13930#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:52,596 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-28 09:00:52,596 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-28 09:00:52,596 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-28 09:00:52,596 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {13924#true} is VALID [2022-04-28 09:00:52,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13924#true} is VALID [2022-04-28 09:00:52,596 INFO L134 CoverageAnalysis]: Checked inductivity of 239 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-28 09:00:52,596 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [874410575] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:52,596 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:52,596 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 6] total 9 [2022-04-28 09:00:52,596 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:52,597 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1132124933] [2022-04-28 09:00:52,597 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1132124933] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:52,597 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:52,597 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 09:00:52,597 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [539146969] [2022-04-28 09:00:52,597 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:52,597 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 74 [2022-04-28 09:00:52,597 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:52,597 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:52,616 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:52,616 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 09:00:52,616 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:52,616 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 09:00:52,616 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-28 09:00:52,616 INFO L87 Difference]: Start difference. First operand 85 states and 104 transitions. Second operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:53,025 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:53,025 INFO L93 Difference]: Finished difference Result 160 states and 198 transitions. [2022-04-28 09:00:53,025 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 09:00:53,025 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 74 [2022-04-28 09:00:53,025 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:53,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:53,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 73 transitions. [2022-04-28 09:00:53,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:53,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 73 transitions. [2022-04-28 09:00:53,027 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 73 transitions. [2022-04-28 09:00:53,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:53,141 INFO L225 Difference]: With dead ends: 160 [2022-04-28 09:00:53,141 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 09:00:53,141 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 164 GetRequests, 151 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=75, Invalid=135, Unknown=0, NotChecked=0, Total=210 [2022-04-28 09:00:53,142 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 50 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 97 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 27 SdHoareTripleChecker+Invalid, 114 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 97 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:53,142 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [52 Valid, 27 Invalid, 114 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 97 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 09:00:53,142 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 09:00:53,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2022-04-28 09:00:53,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:53,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:53,298 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:53,298 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:53,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:53,299 INFO L93 Difference]: Finished difference Result 88 states and 107 transitions. [2022-04-28 09:00:53,299 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-04-28 09:00:53,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:53,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:53,299 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 88 states. [2022-04-28 09:00:53,299 INFO L87 Difference]: Start difference. First operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 88 states. [2022-04-28 09:00:53,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:53,300 INFO L93 Difference]: Finished difference Result 88 states and 107 transitions. [2022-04-28 09:00:53,300 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-04-28 09:00:53,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:53,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:53,301 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:53,301 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:53,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 79 states have (on average 1.2531645569620253) internal successors, (99), 79 states have internal predecessors, (99), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:53,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 106 transitions. [2022-04-28 09:00:53,302 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 106 transitions. Word has length 74 [2022-04-28 09:00:53,302 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:53,302 INFO L495 AbstractCegarLoop]: Abstraction has 87 states and 106 transitions. [2022-04-28 09:00:53,302 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.125) internal successors, (25), 6 states have internal predecessors, (25), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:53,302 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 106 transitions. [2022-04-28 09:00:53,447 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:53,447 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 106 transitions. [2022-04-28 09:00:53,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-28 09:00:53,448 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:53,448 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:00:53,469 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:53,648 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:53,649 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:53,649 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:53,649 INFO L85 PathProgramCache]: Analyzing trace with hash 1798930824, now seen corresponding path program 33 times [2022-04-28 09:00:53,649 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:53,649 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1811745689] [2022-04-28 09:00:53,651 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:53,651 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:53,651 INFO L85 PathProgramCache]: Analyzing trace with hash 1798930824, now seen corresponding path program 34 times [2022-04-28 09:00:53,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:53,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [345973964] [2022-04-28 09:00:53,651 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:53,651 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:53,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:53,708 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:00:53,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:53,711 INFO L290 TraceCheckUtils]: 0: Hoare triple {15180#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {15116#true} is VALID [2022-04-28 09:00:53,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-28 09:00:53,711 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-28 09:00:53,715 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-28 09:00:53,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:53,732 INFO L290 TraceCheckUtils]: 0: Hoare triple {15181#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {15116#true} is VALID [2022-04-28 09:00:53,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:53,732 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,732 INFO L290 TraceCheckUtils]: 3: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,732 INFO L290 TraceCheckUtils]: 4: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,732 INFO L290 TraceCheckUtils]: 5: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,732 INFO L290 TraceCheckUtils]: 6: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,732 INFO L290 TraceCheckUtils]: 7: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,732 INFO L290 TraceCheckUtils]: 8: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 9: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 10: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 12: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 13: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 15: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 16: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 17: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 18: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 20: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 21: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 22: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,733 INFO L290 TraceCheckUtils]: 23: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 24: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 25: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 26: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 27: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 28: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 29: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 33: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 34: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 35: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 36: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,734 INFO L290 TraceCheckUtils]: 37: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 38: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 39: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 40: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 41: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 42: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 43: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 44: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 45: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 46: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 47: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 48: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 50: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:53,735 INFO L290 TraceCheckUtils]: 51: Hoare triple {15116#true} assume !(~lh~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,736 INFO L290 TraceCheckUtils]: 52: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-28 09:00:53,736 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15116#true} {15117#false} #91#return; {15117#false} is VALID [2022-04-28 09:00:53,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15180#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:00:53,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {15180#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {15116#true} is VALID [2022-04-28 09:00:53,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-28 09:00:53,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-28 09:00:53,736 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-28 09:00:53,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {15116#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {15121#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:53,737 INFO L290 TraceCheckUtils]: 6: Hoare triple {15121#(<= 4 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15121#(<= 4 main_~i~1)} is VALID [2022-04-28 09:00:53,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {15121#(<= 4 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15122#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:53,738 INFO L290 TraceCheckUtils]: 8: Hoare triple {15122#(<= 3 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15122#(<= 3 main_~i~1)} is VALID [2022-04-28 09:00:53,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {15122#(<= 3 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15123#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:53,738 INFO L290 TraceCheckUtils]: 10: Hoare triple {15123#(<= 2 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15123#(<= 2 main_~i~1)} is VALID [2022-04-28 09:00:53,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {15123#(<= 2 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15124#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:53,739 INFO L290 TraceCheckUtils]: 12: Hoare triple {15124#(<= 1 main_~i~1)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15124#(<= 1 main_~i~1)} is VALID [2022-04-28 09:00:53,739 INFO L290 TraceCheckUtils]: 13: Hoare triple {15124#(<= 1 main_~i~1)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15125#(<= 0 main_~i~1)} is VALID [2022-04-28 09:00:53,739 INFO L290 TraceCheckUtils]: 14: Hoare triple {15125#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {15117#false} is VALID [2022-04-28 09:00:53,740 INFO L272 TraceCheckUtils]: 15: Hoare triple {15117#false} call SelectionSort(); {15181#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 16: Hoare triple {15181#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 17: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 18: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 19: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 20: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 21: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 22: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 23: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 24: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 25: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 26: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 27: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,740 INFO L290 TraceCheckUtils]: 28: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 29: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 31: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 32: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 33: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 34: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 35: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 36: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 37: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 38: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 39: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 40: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 41: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 42: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,741 INFO L290 TraceCheckUtils]: 43: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 44: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 45: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 46: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 47: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 48: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 49: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 50: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 51: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 52: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 53: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 54: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 55: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 56: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 57: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,742 INFO L290 TraceCheckUtils]: 58: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 59: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 60: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 61: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 62: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 63: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 64: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 65: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 66: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 67: Hoare triple {15116#true} assume !(~lh~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 68: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-28 09:00:53,743 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15116#true} {15117#false} #91#return; {15117#false} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-28 09:00:53,743 INFO L290 TraceCheckUtils]: 71: Hoare triple {15117#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15117#false} is VALID [2022-04-28 09:00:53,743 INFO L272 TraceCheckUtils]: 72: Hoare triple {15117#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {15117#false} is VALID [2022-04-28 09:00:53,744 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-28 09:00:53,744 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-28 09:00:53,744 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-28 09:00:53,744 INFO L134 CoverageAnalysis]: Checked inductivity of 246 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-28 09:00:53,744 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:00:53,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [345973964] [2022-04-28 09:00:53,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [345973964] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:00:53,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [24841617] [2022-04-28 09:00:53,744 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:00:53,744 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:00:53,745 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:00:53,756 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:00:53,781 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 09:00:53,850 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:00:53,850 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:00:53,851 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 09:00:53,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:00:53,869 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:00:54,491 INFO L356 Elim1Store]: treesize reduction 274, result has 11.6 percent of original size [2022-04-28 09:00:54,492 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 7 case distinctions, treesize of input 76 treesize of output 57 [2022-04-28 09:00:54,709 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-28 09:00:54,709 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 49 treesize of output 13 [2022-04-28 09:00:54,784 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15116#true} is VALID [2022-04-28 09:00:54,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {15116#true} is VALID [2022-04-28 09:00:54,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-28 09:00:54,784 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {15116#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L290 TraceCheckUtils]: 6: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L290 TraceCheckUtils]: 9: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L290 TraceCheckUtils]: 10: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L290 TraceCheckUtils]: 11: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L290 TraceCheckUtils]: 12: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L290 TraceCheckUtils]: 13: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~1 >= 0); {15116#true} is VALID [2022-04-28 09:00:54,785 INFO L272 TraceCheckUtils]: 15: Hoare triple {15116#true} call SelectionSort(); {15116#true} is VALID [2022-04-28 09:00:54,786 INFO L290 TraceCheckUtils]: 16: Hoare triple {15116#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:54,786 INFO L290 TraceCheckUtils]: 17: Hoare triple {15233#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:00:54,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:00:54,787 INFO L290 TraceCheckUtils]: 19: Hoare triple {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:00:54,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {15237#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:00:54,788 INFO L290 TraceCheckUtils]: 21: Hoare triple {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:00:54,788 INFO L290 TraceCheckUtils]: 22: Hoare triple {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:00:54,788 INFO L290 TraceCheckUtils]: 23: Hoare triple {15247#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:00:54,789 INFO L290 TraceCheckUtils]: 24: Hoare triple {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:00:54,789 INFO L290 TraceCheckUtils]: 25: Hoare triple {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:00:54,789 INFO L290 TraceCheckUtils]: 26: Hoare triple {15257#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:54,790 INFO L290 TraceCheckUtils]: 27: Hoare triple {15233#(= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:54,790 INFO L290 TraceCheckUtils]: 28: Hoare triple {15233#(= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:54,790 INFO L290 TraceCheckUtils]: 29: Hoare triple {15233#(= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:54,790 INFO L290 TraceCheckUtils]: 30: Hoare triple {15233#(= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:54,791 INFO L290 TraceCheckUtils]: 31: Hoare triple {15233#(= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15233#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:00:54,791 INFO L290 TraceCheckUtils]: 32: Hoare triple {15233#(= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15285#(= (+ (- 1) SelectionSort_~lh~0) 0)} is VALID [2022-04-28 09:00:54,791 INFO L290 TraceCheckUtils]: 33: Hoare triple {15285#(= (+ (- 1) SelectionSort_~lh~0) 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15289#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-28 09:00:54,792 INFO L290 TraceCheckUtils]: 34: Hoare triple {15289#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15293#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:00:54,792 INFO L290 TraceCheckUtils]: 35: Hoare triple {15293#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15297#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:00:54,793 INFO L290 TraceCheckUtils]: 36: Hoare triple {15297#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15301#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:00:54,794 INFO L290 TraceCheckUtils]: 37: Hoare triple {15301#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15305#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:00:54,794 INFO L290 TraceCheckUtils]: 38: Hoare triple {15305#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15309#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:00:54,795 INFO L290 TraceCheckUtils]: 39: Hoare triple {15309#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15313#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} is VALID [2022-04-28 09:00:54,795 INFO L290 TraceCheckUtils]: 40: Hoare triple {15313#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15313#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} is VALID [2022-04-28 09:00:54,796 INFO L290 TraceCheckUtils]: 41: Hoare triple {15313#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:00:54,797 INFO L290 TraceCheckUtils]: 42: Hoare triple {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:00:54,797 INFO L290 TraceCheckUtils]: 43: Hoare triple {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !(~i~0 < ~n~0); {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:00:54,799 INFO L290 TraceCheckUtils]: 44: Hoare triple {15320#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset| (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15330#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:00:54,799 INFO L290 TraceCheckUtils]: 45: Hoare triple {15330#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15334#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:00:54,800 INFO L290 TraceCheckUtils]: 46: Hoare triple {15334#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15338#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:00:54,800 INFO L290 TraceCheckUtils]: 47: Hoare triple {15338#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15338#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:00:54,801 INFO L290 TraceCheckUtils]: 48: Hoare triple {15338#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15345#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:00:54,801 INFO L290 TraceCheckUtils]: 49: Hoare triple {15345#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15349#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))) (= SelectionSort_~i~0 4))} is VALID [2022-04-28 09:00:54,802 INFO L290 TraceCheckUtils]: 50: Hoare triple {15349#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))) (= SelectionSort_~i~0 4))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15353#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:00:54,802 INFO L290 TraceCheckUtils]: 51: Hoare triple {15353#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 52: Hoare triple {15117#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 53: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 54: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 55: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 56: Hoare triple {15117#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 57: Hoare triple {15117#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 58: Hoare triple {15117#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 59: Hoare triple {15117#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 60: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 61: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 62: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 63: Hoare triple {15117#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 64: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-28 09:00:54,803 INFO L290 TraceCheckUtils]: 65: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-28 09:00:54,804 INFO L290 TraceCheckUtils]: 66: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-28 09:00:54,804 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#false} assume !(~lh~0 < ~n~0); {15117#false} is VALID [2022-04-28 09:00:54,804 INFO L290 TraceCheckUtils]: 68: Hoare triple {15117#false} assume true; {15117#false} is VALID [2022-04-28 09:00:54,804 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15117#false} {15116#true} #91#return; {15117#false} is VALID [2022-04-28 09:00:54,804 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-28 09:00:54,804 INFO L290 TraceCheckUtils]: 71: Hoare triple {15117#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15117#false} is VALID [2022-04-28 09:00:54,804 INFO L272 TraceCheckUtils]: 72: Hoare triple {15117#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {15117#false} is VALID [2022-04-28 09:00:54,804 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-28 09:00:54,804 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-28 09:00:54,804 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-28 09:00:54,805 INFO L134 CoverageAnalysis]: Checked inductivity of 246 backedges. 90 proven. 123 refuted. 0 times theorem prover too weak. 33 trivial. 0 not checked. [2022-04-28 09:00:54,805 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:00:56,589 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 88 [2022-04-28 09:00:56,729 INFO L356 Elim1Store]: treesize reduction 117, result has 54.3 percent of original size [2022-04-28 09:00:56,730 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 1050 treesize of output 1045 [2022-04-28 09:00:58,478 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-28 09:00:58,478 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-28 09:00:58,478 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-28 09:00:58,478 INFO L272 TraceCheckUtils]: 72: Hoare triple {15117#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {15117#false} is VALID [2022-04-28 09:00:58,478 INFO L290 TraceCheckUtils]: 71: Hoare triple {15117#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15117#false} is VALID [2022-04-28 09:00:58,478 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-28 09:00:58,478 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15117#false} {15116#true} #91#return; {15117#false} is VALID [2022-04-28 09:00:58,478 INFO L290 TraceCheckUtils]: 68: Hoare triple {15117#false} assume true; {15117#false} is VALID [2022-04-28 09:00:58,478 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#false} assume !(~lh~0 < ~n~0); {15117#false} is VALID [2022-04-28 09:00:58,478 INFO L290 TraceCheckUtils]: 66: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 65: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 64: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 63: Hoare triple {15117#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 62: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 61: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 60: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 59: Hoare triple {15117#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 58: Hoare triple {15117#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 57: Hoare triple {15117#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 56: Hoare triple {15117#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 55: Hoare triple {15117#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 54: Hoare triple {15117#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 53: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-28 09:00:58,479 INFO L290 TraceCheckUtils]: 52: Hoare triple {15117#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15117#false} is VALID [2022-04-28 09:00:58,480 INFO L290 TraceCheckUtils]: 51: Hoare triple {15504#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15117#false} is VALID [2022-04-28 09:00:58,480 INFO L290 TraceCheckUtils]: 50: Hoare triple {15508#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15504#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} is VALID [2022-04-28 09:00:58,481 INFO L290 TraceCheckUtils]: 49: Hoare triple {15512#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15508#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:00:58,481 INFO L290 TraceCheckUtils]: 48: Hoare triple {15516#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15512#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:00:58,482 INFO L290 TraceCheckUtils]: 47: Hoare triple {15516#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15516#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:00:58,483 INFO L290 TraceCheckUtils]: 46: Hoare triple {15523#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15516#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:00:58,483 INFO L290 TraceCheckUtils]: 45: Hoare triple {15527#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15523#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:00:58,484 INFO L290 TraceCheckUtils]: 44: Hoare triple {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15527#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:00:58,485 INFO L290 TraceCheckUtils]: 43: Hoare triple {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:00:58,486 INFO L290 TraceCheckUtils]: 42: Hoare triple {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:00:58,486 INFO L290 TraceCheckUtils]: 41: Hoare triple {15541#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15531#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:00:58,487 INFO L290 TraceCheckUtils]: 40: Hoare triple {15541#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15541#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:00:58,489 INFO L290 TraceCheckUtils]: 39: Hoare triple {15548#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15541#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:00:58,490 INFO L290 TraceCheckUtils]: 38: Hoare triple {15552#(or (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15548#(forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:00:58,491 INFO L290 TraceCheckUtils]: 37: Hoare triple {15556#(or (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15552#(or (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} is VALID [2022-04-28 09:00:58,494 INFO L290 TraceCheckUtils]: 36: Hoare triple {15560#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15556#(or (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:00:58,495 INFO L290 TraceCheckUtils]: 35: Hoare triple {15564#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15560#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:00:58,498 INFO L290 TraceCheckUtils]: 34: Hoare triple {15568#(or (= (+ 4 (* SelectionSort_~i~0 4)) (* SelectionSort_~rh~0 4)) (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15564#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (forall ((v_ArrVal_718 Int) (v_ArrVal_717 Int)) (or (< v_ArrVal_717 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_718) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_717) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:00:58,498 INFO L290 TraceCheckUtils]: 33: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15568#(or (= (+ 4 (* SelectionSort_~i~0 4)) (* SelectionSort_~rh~0 4)) (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:00:58,498 INFO L290 TraceCheckUtils]: 32: Hoare triple {15116#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {15116#true} is VALID [2022-04-28 09:00:58,498 INFO L290 TraceCheckUtils]: 31: Hoare triple {15116#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:58,498 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-28 09:00:58,498 INFO L290 TraceCheckUtils]: 29: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:58,498 INFO L290 TraceCheckUtils]: 28: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 27: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 26: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 25: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 24: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 23: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 22: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 21: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 20: Hoare triple {15116#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 19: Hoare triple {15116#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 18: Hoare triple {15116#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 17: Hoare triple {15116#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 16: Hoare triple {15116#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L272 TraceCheckUtils]: 15: Hoare triple {15116#true} call SelectionSort(); {15116#true} is VALID [2022-04-28 09:00:58,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~1 >= 0); {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 13: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 12: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 11: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 10: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 9: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 8: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 7: Hoare triple {15116#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 6: Hoare triple {15116#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 5: Hoare triple {15116#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {15116#true} is VALID [2022-04-28 09:00:58,500 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15116#true} is VALID [2022-04-28 09:00:58,501 INFO L134 CoverageAnalysis]: Checked inductivity of 246 backedges. 165 proven. 26 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2022-04-28 09:00:58,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [24841617] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:00:58,501 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:00:58,501 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 21, 16] total 42 [2022-04-28 09:00:58,501 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:00:58,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1811745689] [2022-04-28 09:00:58,501 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1811745689] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:00:58,502 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:00:58,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 09:00:58,502 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1358468558] [2022-04-28 09:00:58,502 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:00:58,502 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 76 [2022-04-28 09:00:58,502 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:00:58,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:58,524 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:58,524 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 09:00:58,524 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:58,524 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 09:00:58,525 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=1580, Unknown=0, NotChecked=0, Total=1722 [2022-04-28 09:00:58,525 INFO L87 Difference]: Start difference. First operand 87 states and 106 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:59,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:59,172 INFO L93 Difference]: Finished difference Result 177 states and 219 transitions. [2022-04-28 09:00:59,172 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 09:00:59,172 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 76 [2022-04-28 09:00:59,172 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:00:59,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:59,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-28 09:00:59,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:59,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-28 09:00:59,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 94 transitions. [2022-04-28 09:00:59,248 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:59,250 INFO L225 Difference]: With dead ends: 177 [2022-04-28 09:00:59,250 INFO L226 Difference]: Without dead ends: 105 [2022-04-28 09:00:59,250 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 123 SyntacticMatches, 0 SemanticMatches, 47 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 607 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=201, Invalid=2151, Unknown=0, NotChecked=0, Total=2352 [2022-04-28 09:00:59,252 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 60 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 189 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:00:59,252 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [61 Valid, 33 Invalid, 189 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 09:00:59,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-28 09:00:59,419 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 89. [2022-04-28 09:00:59,419 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:00:59,419 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:59,419 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:59,420 INFO L87 Difference]: Start difference. First operand 105 states. Second operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:59,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:59,421 INFO L93 Difference]: Finished difference Result 105 states and 128 transitions. [2022-04-28 09:00:59,421 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 128 transitions. [2022-04-28 09:00:59,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:59,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:59,421 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 105 states. [2022-04-28 09:00:59,422 INFO L87 Difference]: Start difference. First operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 105 states. [2022-04-28 09:00:59,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:00:59,423 INFO L93 Difference]: Finished difference Result 105 states and 128 transitions. [2022-04-28 09:00:59,423 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 128 transitions. [2022-04-28 09:00:59,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:00:59,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:00:59,423 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:00:59,423 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:00:59,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 81 states have (on average 1.2469135802469136) internal successors, (101), 81 states have internal predecessors, (101), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:00:59,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 108 transitions. [2022-04-28 09:00:59,424 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 108 transitions. Word has length 76 [2022-04-28 09:00:59,424 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:00:59,424 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 108 transitions. [2022-04-28 09:00:59,425 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 7 states have internal predecessors, (27), 2 states have call successors, (4), 4 states have call predecessors, (4), 1 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:00:59,425 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 108 transitions. [2022-04-28 09:00:59,573 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:00:59,573 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 108 transitions. [2022-04-28 09:00:59,573 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-28 09:00:59,573 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:00:59,573 INFO L195 NwaCegarLoop]: 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] [2022-04-28 09:00:59,637 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 09:00:59,773 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 09:00:59,774 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:00:59,774 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:00:59,774 INFO L85 PathProgramCache]: Analyzing trace with hash 338841578, now seen corresponding path program 35 times [2022-04-28 09:00:59,774 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:00:59,774 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1110056184] [2022-04-28 09:00:59,776 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:00:59,776 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:00:59,776 INFO L85 PathProgramCache]: Analyzing trace with hash 338841578, now seen corresponding path program 36 times [2022-04-28 09:00:59,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:00:59,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1996985074] [2022-04-28 09:00:59,776 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:00:59,776 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:00:59,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:00,078 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:01:00,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:00,095 INFO L290 TraceCheckUtils]: 0: Hoare triple {16499#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:00,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:00,096 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {16427#true} #95#return; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:00,104 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:01:00,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:00,157 INFO L290 TraceCheckUtils]: 0: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,158 INFO L290 TraceCheckUtils]: 3: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,159 INFO L290 TraceCheckUtils]: 4: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,159 INFO L290 TraceCheckUtils]: 5: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,159 INFO L290 TraceCheckUtils]: 6: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,160 INFO L290 TraceCheckUtils]: 7: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,160 INFO L290 TraceCheckUtils]: 8: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,160 INFO L290 TraceCheckUtils]: 9: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,161 INFO L290 TraceCheckUtils]: 10: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,161 INFO L290 TraceCheckUtils]: 11: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,161 INFO L290 TraceCheckUtils]: 12: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,162 INFO L290 TraceCheckUtils]: 13: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,163 INFO L290 TraceCheckUtils]: 16: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,163 INFO L290 TraceCheckUtils]: 17: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,163 INFO L290 TraceCheckUtils]: 18: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,163 INFO L290 TraceCheckUtils]: 19: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,164 INFO L290 TraceCheckUtils]: 20: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,164 INFO L290 TraceCheckUtils]: 21: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,164 INFO L290 TraceCheckUtils]: 22: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,164 INFO L290 TraceCheckUtils]: 23: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,165 INFO L290 TraceCheckUtils]: 24: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,165 INFO L290 TraceCheckUtils]: 25: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,165 INFO L290 TraceCheckUtils]: 26: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,165 INFO L290 TraceCheckUtils]: 27: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,166 INFO L290 TraceCheckUtils]: 28: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,166 INFO L290 TraceCheckUtils]: 29: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,166 INFO L290 TraceCheckUtils]: 30: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,167 INFO L290 TraceCheckUtils]: 31: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,167 INFO L290 TraceCheckUtils]: 32: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,167 INFO L290 TraceCheckUtils]: 33: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,167 INFO L290 TraceCheckUtils]: 34: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,168 INFO L290 TraceCheckUtils]: 35: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,168 INFO L290 TraceCheckUtils]: 36: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,168 INFO L290 TraceCheckUtils]: 37: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,169 INFO L290 TraceCheckUtils]: 38: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,169 INFO L290 TraceCheckUtils]: 39: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,169 INFO L290 TraceCheckUtils]: 40: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,169 INFO L290 TraceCheckUtils]: 41: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,170 INFO L290 TraceCheckUtils]: 42: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,170 INFO L290 TraceCheckUtils]: 43: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,170 INFO L290 TraceCheckUtils]: 44: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,171 INFO L290 TraceCheckUtils]: 45: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,171 INFO L290 TraceCheckUtils]: 46: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,171 INFO L290 TraceCheckUtils]: 47: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,171 INFO L290 TraceCheckUtils]: 48: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,172 INFO L290 TraceCheckUtils]: 49: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,172 INFO L290 TraceCheckUtils]: 50: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,172 INFO L290 TraceCheckUtils]: 51: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,173 INFO L290 TraceCheckUtils]: 52: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,173 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} #91#return; {16494#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} is VALID [2022-04-28 09:01:00,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {16427#true} call ULTIMATE.init(); {16499#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:01:00,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {16499#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:00,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:00,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {16427#true} #95#return; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:00,175 INFO L272 TraceCheckUtils]: 4: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:00,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {16433#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 4))} is VALID [2022-04-28 09:01:00,176 INFO L290 TraceCheckUtils]: 6: Hoare triple {16433#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16433#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 4))} is VALID [2022-04-28 09:01:00,177 INFO L290 TraceCheckUtils]: 7: Hoare triple {16433#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16434#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 3))} is VALID [2022-04-28 09:01:00,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {16434#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 3))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16434#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 3))} is VALID [2022-04-28 09:01:00,177 INFO L290 TraceCheckUtils]: 9: Hoare triple {16434#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 3))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16435#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 2))} is VALID [2022-04-28 09:01:00,178 INFO L290 TraceCheckUtils]: 10: Hoare triple {16435#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 2))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16435#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 2))} is VALID [2022-04-28 09:01:00,178 INFO L290 TraceCheckUtils]: 11: Hoare triple {16435#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 2))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16436#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 1))} is VALID [2022-04-28 09:01:00,179 INFO L290 TraceCheckUtils]: 12: Hoare triple {16436#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16436#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 1))} is VALID [2022-04-28 09:01:00,179 INFO L290 TraceCheckUtils]: 13: Hoare triple {16436#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= main_~i~1 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16437#(and (or (and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|))) (not (= main_~i~1 0))) (<= main_~i~1 0))} is VALID [2022-04-28 09:01:00,180 INFO L290 TraceCheckUtils]: 14: Hoare triple {16437#(and (or (and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|))) (not (= main_~i~1 0))) (<= main_~i~1 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16438#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-28 09:01:00,180 INFO L290 TraceCheckUtils]: 15: Hoare triple {16438#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= main_~i~1 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} is VALID [2022-04-28 09:01:00,180 INFO L290 TraceCheckUtils]: 16: Hoare triple {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} assume !(~i~1 >= 0); {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} is VALID [2022-04-28 09:01:00,181 INFO L272 TraceCheckUtils]: 17: Hoare triple {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} call SelectionSort(); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,181 INFO L290 TraceCheckUtils]: 18: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,181 INFO L290 TraceCheckUtils]: 19: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,182 INFO L290 TraceCheckUtils]: 20: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,182 INFO L290 TraceCheckUtils]: 21: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,182 INFO L290 TraceCheckUtils]: 22: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,183 INFO L290 TraceCheckUtils]: 23: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,183 INFO L290 TraceCheckUtils]: 24: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,183 INFO L290 TraceCheckUtils]: 25: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,184 INFO L290 TraceCheckUtils]: 26: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,184 INFO L290 TraceCheckUtils]: 27: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,184 INFO L290 TraceCheckUtils]: 28: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,185 INFO L290 TraceCheckUtils]: 29: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,185 INFO L290 TraceCheckUtils]: 30: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,185 INFO L290 TraceCheckUtils]: 31: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,185 INFO L290 TraceCheckUtils]: 32: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {16500#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:00,186 INFO L290 TraceCheckUtils]: 33: Hoare triple {16500#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,186 INFO L290 TraceCheckUtils]: 34: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,186 INFO L290 TraceCheckUtils]: 35: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,187 INFO L290 TraceCheckUtils]: 37: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,187 INFO L290 TraceCheckUtils]: 38: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,187 INFO L290 TraceCheckUtils]: 39: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,188 INFO L290 TraceCheckUtils]: 40: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,188 INFO L290 TraceCheckUtils]: 41: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,188 INFO L290 TraceCheckUtils]: 42: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,188 INFO L290 TraceCheckUtils]: 43: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,189 INFO L290 TraceCheckUtils]: 44: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,189 INFO L290 TraceCheckUtils]: 45: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,189 INFO L290 TraceCheckUtils]: 46: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,190 INFO L290 TraceCheckUtils]: 47: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,190 INFO L290 TraceCheckUtils]: 48: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,190 INFO L290 TraceCheckUtils]: 49: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,190 INFO L290 TraceCheckUtils]: 50: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,191 INFO L290 TraceCheckUtils]: 51: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,191 INFO L290 TraceCheckUtils]: 52: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,191 INFO L290 TraceCheckUtils]: 53: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,191 INFO L290 TraceCheckUtils]: 54: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,192 INFO L290 TraceCheckUtils]: 55: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,192 INFO L290 TraceCheckUtils]: 56: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,192 INFO L290 TraceCheckUtils]: 57: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,193 INFO L290 TraceCheckUtils]: 58: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,193 INFO L290 TraceCheckUtils]: 59: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,193 INFO L290 TraceCheckUtils]: 60: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,193 INFO L290 TraceCheckUtils]: 61: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,194 INFO L290 TraceCheckUtils]: 62: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,194 INFO L290 TraceCheckUtils]: 63: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,194 INFO L290 TraceCheckUtils]: 64: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,195 INFO L290 TraceCheckUtils]: 65: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,195 INFO L290 TraceCheckUtils]: 66: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,195 INFO L290 TraceCheckUtils]: 67: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,196 INFO L290 TraceCheckUtils]: 68: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,196 INFO L290 TraceCheckUtils]: 69: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,196 INFO L290 TraceCheckUtils]: 70: Hoare triple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:00,197 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16501#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {16439#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} #91#return; {16494#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} is VALID [2022-04-28 09:01:00,197 INFO L290 TraceCheckUtils]: 72: Hoare triple {16494#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 0) 0))} ~i~1 := 0; {16495#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-28 09:01:00,197 INFO L290 TraceCheckUtils]: 73: Hoare triple {16495#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16496#(= main_~i~1 |main_#t~mem9|)} is VALID [2022-04-28 09:01:00,198 INFO L272 TraceCheckUtils]: 74: Hoare triple {16496#(= main_~i~1 |main_#t~mem9|)} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {16497#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:01:00,198 INFO L290 TraceCheckUtils]: 75: Hoare triple {16497#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {16498#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:01:00,199 INFO L290 TraceCheckUtils]: 76: Hoare triple {16498#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {16428#false} is VALID [2022-04-28 09:01:00,199 INFO L290 TraceCheckUtils]: 77: Hoare triple {16428#false} assume !false; {16428#false} is VALID [2022-04-28 09:01:00,199 INFO L134 CoverageAnalysis]: Checked inductivity of 255 backedges. 16 proven. 116 refuted. 0 times theorem prover too weak. 123 trivial. 0 not checked. [2022-04-28 09:01:00,199 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:01:00,199 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1996985074] [2022-04-28 09:01:00,199 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1996985074] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:01:00,199 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [233125144] [2022-04-28 09:01:00,200 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 09:01:00,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:01:00,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:01:00,201 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:01:00,201 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 09:01:00,365 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-28 09:01:00,365 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:01:00,367 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 09:01:00,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:00,383 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:01:00,419 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 09:01:00,419 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-28 09:01:00,481 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-28 09:01:01,235 INFO L390 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 18 treesize of output 20 [2022-04-28 09:01:01,478 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-04-28 09:01:01,478 INFO L390 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 1 case distinctions, treesize of input 23 treesize of output 10 [2022-04-28 09:01:01,604 INFO L272 TraceCheckUtils]: 0: Hoare triple {16427#true} call ULTIMATE.init(); {16427#true} is VALID [2022-04-28 09:01:01,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {16427#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:01,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:01,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {16427#true} #95#return; {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:01,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:01,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {16432#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,606 INFO L290 TraceCheckUtils]: 6: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,607 INFO L290 TraceCheckUtils]: 7: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,608 INFO L290 TraceCheckUtils]: 10: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,608 INFO L290 TraceCheckUtils]: 11: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {16520#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16548#(and (<= 0 main_~i~1) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:01,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {16548#(and (<= 0 main_~i~1) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {16552#(and (exists ((v_main_~i~1_128 Int)) (and (<= v_main_~i~1_128 (+ main_~i~1 1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (<= 0 v_main_~i~1_128))) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,612 INFO L290 TraceCheckUtils]: 16: Hoare triple {16552#(and (exists ((v_main_~i~1_128 Int)) (and (<= v_main_~i~1_128 (+ main_~i~1 1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (<= 0 v_main_~i~1_128))) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {16556#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,613 INFO L272 TraceCheckUtils]: 17: Hoare triple {16556#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,613 INFO L290 TraceCheckUtils]: 18: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,613 INFO L290 TraceCheckUtils]: 19: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,614 INFO L290 TraceCheckUtils]: 20: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,614 INFO L290 TraceCheckUtils]: 21: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,614 INFO L290 TraceCheckUtils]: 22: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,615 INFO L290 TraceCheckUtils]: 23: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,615 INFO L290 TraceCheckUtils]: 24: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,616 INFO L290 TraceCheckUtils]: 25: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,616 INFO L290 TraceCheckUtils]: 26: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,617 INFO L290 TraceCheckUtils]: 28: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,617 INFO L290 TraceCheckUtils]: 29: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,617 INFO L290 TraceCheckUtils]: 30: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,618 INFO L290 TraceCheckUtils]: 31: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,619 INFO L290 TraceCheckUtils]: 32: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:01,620 INFO L290 TraceCheckUtils]: 33: Hoare triple {16560#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,620 INFO L290 TraceCheckUtils]: 34: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,621 INFO L290 TraceCheckUtils]: 35: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,621 INFO L290 TraceCheckUtils]: 36: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,622 INFO L290 TraceCheckUtils]: 37: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,622 INFO L290 TraceCheckUtils]: 38: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,623 INFO L290 TraceCheckUtils]: 39: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,624 INFO L290 TraceCheckUtils]: 40: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,624 INFO L290 TraceCheckUtils]: 41: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,625 INFO L290 TraceCheckUtils]: 42: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,625 INFO L290 TraceCheckUtils]: 43: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,626 INFO L290 TraceCheckUtils]: 44: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,626 INFO L290 TraceCheckUtils]: 45: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !(~i~0 < ~n~0); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,628 WARN L290 TraceCheckUtils]: 46: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is UNKNOWN [2022-04-28 09:01:01,628 INFO L290 TraceCheckUtils]: 47: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,629 INFO L290 TraceCheckUtils]: 48: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,629 INFO L290 TraceCheckUtils]: 49: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,630 INFO L290 TraceCheckUtils]: 50: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,630 INFO L290 TraceCheckUtils]: 51: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,631 INFO L290 TraceCheckUtils]: 52: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,631 INFO L290 TraceCheckUtils]: 53: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,632 INFO L290 TraceCheckUtils]: 54: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,632 INFO L290 TraceCheckUtils]: 55: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !(~i~0 < ~n~0); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,634 WARN L290 TraceCheckUtils]: 56: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is UNKNOWN [2022-04-28 09:01:01,635 INFO L290 TraceCheckUtils]: 57: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,635 INFO L290 TraceCheckUtils]: 58: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,636 INFO L290 TraceCheckUtils]: 59: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,636 INFO L290 TraceCheckUtils]: 60: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,637 INFO L290 TraceCheckUtils]: 61: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,637 INFO L290 TraceCheckUtils]: 62: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !(~i~0 < ~n~0); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,639 WARN L290 TraceCheckUtils]: 63: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is UNKNOWN [2022-04-28 09:01:01,640 INFO L290 TraceCheckUtils]: 64: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,641 INFO L290 TraceCheckUtils]: 65: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,651 INFO L290 TraceCheckUtils]: 66: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !(~i~0 < ~n~0); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,653 WARN L290 TraceCheckUtils]: 67: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is UNKNOWN [2022-04-28 09:01:01,653 INFO L290 TraceCheckUtils]: 68: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,654 INFO L290 TraceCheckUtils]: 69: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume !(~lh~0 < ~n~0); {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,654 INFO L290 TraceCheckUtils]: 70: Hoare triple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} assume true; {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} is VALID [2022-04-28 09:01:01,655 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16609#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_793 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_793))))} {16556#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #91#return; {16724#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:01,656 INFO L290 TraceCheckUtils]: 72: Hoare triple {16724#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {16728#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:01:01,657 INFO L290 TraceCheckUtils]: 73: Hoare triple {16728#(and (exists ((v_main_~i~1_128 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_128) |main_~#array~1.offset|)) v_main_~i~1_128) (< v_main_~i~1_128 1) (<= 0 v_main_~i~1_128))) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {16732#(and (< |main_#t~mem9| 1) (<= 0 |main_#t~mem9|) (= main_~i~1 0))} is VALID [2022-04-28 09:01:01,657 INFO L272 TraceCheckUtils]: 74: Hoare triple {16732#(and (< |main_#t~mem9| 1) (<= 0 |main_#t~mem9|) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {16736#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:01:01,658 INFO L290 TraceCheckUtils]: 75: Hoare triple {16736#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16740#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:01:01,658 INFO L290 TraceCheckUtils]: 76: Hoare triple {16740#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16428#false} is VALID [2022-04-28 09:01:01,658 INFO L290 TraceCheckUtils]: 77: Hoare triple {16428#false} assume !false; {16428#false} is VALID [2022-04-28 09:01:01,658 INFO L134 CoverageAnalysis]: Checked inductivity of 255 backedges. 9 proven. 107 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-28 09:01:01,658 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:01:01,767 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_804 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_804) |c_main_~#array~1.base|) |c_main_~#array~1.offset|) 0)) is different from false [2022-04-28 09:01:01,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [233125144] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:01:01,769 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:01:01,769 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 14] total 29 [2022-04-28 09:01:01,769 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:01:01,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1110056184] [2022-04-28 09:01:01,769 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1110056184] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:01:01,769 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:01:01,769 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 09:01:01,769 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [549303185] [2022-04-28 09:01:01,769 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:01:01,770 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 78 [2022-04-28 09:01:01,770 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:01:01,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:01:01,813 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:01,813 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 09:01:01,814 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:01:01,814 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 09:01:01,814 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=826, Unknown=7, NotChecked=58, Total=992 [2022-04-28 09:01:01,814 INFO L87 Difference]: Start difference. First operand 89 states and 108 transitions. Second operand has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:01:03,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:03,472 INFO L93 Difference]: Finished difference Result 112 states and 134 transitions. [2022-04-28 09:01:03,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-28 09:01:03,473 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 78 [2022-04-28 09:01:03,473 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:01:03,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:01:03,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 75 transitions. [2022-04-28 09:01:03,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:01:03,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 75 transitions. [2022-04-28 09:01:03,475 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 75 transitions. [2022-04-28 09:01:03,549 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:03,550 INFO L225 Difference]: With dead ends: 112 [2022-04-28 09:01:03,550 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 09:01:03,550 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 72 SyntacticMatches, 6 SemanticMatches, 51 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 676 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=403, Invalid=2240, Unknown=13, NotChecked=100, Total=2756 [2022-04-28 09:01:03,551 INFO L413 NwaCegarLoop]: 17 mSDtfsCounter, 152 mSDsluCounter, 14 mSDsCounter, 0 mSdLazyCounter, 376 mSolverCounterSat, 115 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 152 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 491 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 115 IncrementalHoareTripleChecker+Valid, 376 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 09:01:03,551 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [152 Valid, 31 Invalid, 491 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [115 Valid, 376 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 09:01:03,551 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 09:01:03,746 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 95. [2022-04-28 09:01:03,746 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:01:03,746 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 09:01:03,746 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 09:01:03,747 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 09:01:03,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:03,756 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2022-04-28 09:01:03,756 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2022-04-28 09:01:03,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:01:03,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:01:03,756 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 110 states. [2022-04-28 09:01:03,757 INFO L87 Difference]: Start difference. First operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 110 states. [2022-04-28 09:01:03,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:03,758 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2022-04-28 09:01:03,758 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2022-04-28 09:01:03,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:01:03,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:01:03,758 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:01:03,758 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:01:03,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 85 states have (on average 1.2352941176470589) internal successors, (105), 86 states have internal predecessors, (105), 5 states have call successors, (5), 5 states have call predecessors, (5), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 09:01:03,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 114 transitions. [2022-04-28 09:01:03,759 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 114 transitions. Word has length 78 [2022-04-28 09:01:03,759 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:01:03,759 INFO L495 AbstractCegarLoop]: Abstraction has 95 states and 114 transitions. [2022-04-28 09:01:03,759 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 2.1875) internal successors, (35), 14 states have internal predecessors, (35), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 09:01:03,760 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 114 transitions. [2022-04-28 09:01:03,936 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:03,936 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 114 transitions. [2022-04-28 09:01:03,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 09:01:03,936 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:01:03,937 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:01:03,956 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Ended with exit code 0 [2022-04-28 09:01:04,137 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-04-28 09:01:04,137 INFO L420 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:01:04,137 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:01:04,137 INFO L85 PathProgramCache]: Analyzing trace with hash -1489934626, now seen corresponding path program 1 times [2022-04-28 09:01:04,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:01:04,138 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [569541570] [2022-04-28 09:01:04,139 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:01:04,140 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:01:04,140 INFO L85 PathProgramCache]: Analyzing trace with hash -1489934626, now seen corresponding path program 2 times [2022-04-28 09:01:04,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:01:04,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2142477747] [2022-04-28 09:01:04,140 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:01:04,140 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:01:04,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:04,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:01:04,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:04,647 INFO L290 TraceCheckUtils]: 0: Hoare triple {17523#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,647 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {17446#true} #95#return; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,658 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:01:04,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:04,803 INFO L290 TraceCheckUtils]: 0: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,804 INFO L290 TraceCheckUtils]: 3: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,804 INFO L290 TraceCheckUtils]: 4: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,804 INFO L290 TraceCheckUtils]: 5: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,805 INFO L290 TraceCheckUtils]: 6: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,805 INFO L290 TraceCheckUtils]: 7: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,805 INFO L290 TraceCheckUtils]: 8: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,806 INFO L290 TraceCheckUtils]: 9: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,806 INFO L290 TraceCheckUtils]: 10: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,806 INFO L290 TraceCheckUtils]: 11: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,807 INFO L290 TraceCheckUtils]: 12: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,807 INFO L290 TraceCheckUtils]: 13: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,807 INFO L290 TraceCheckUtils]: 14: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,808 INFO L290 TraceCheckUtils]: 15: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,808 INFO L290 TraceCheckUtils]: 16: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,808 INFO L290 TraceCheckUtils]: 17: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,808 INFO L290 TraceCheckUtils]: 18: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,809 INFO L290 TraceCheckUtils]: 19: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,809 INFO L290 TraceCheckUtils]: 20: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,809 INFO L290 TraceCheckUtils]: 21: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,809 INFO L290 TraceCheckUtils]: 22: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,810 INFO L290 TraceCheckUtils]: 23: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,810 INFO L290 TraceCheckUtils]: 24: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,810 INFO L290 TraceCheckUtils]: 25: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,810 INFO L290 TraceCheckUtils]: 26: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,811 INFO L290 TraceCheckUtils]: 27: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,811 INFO L290 TraceCheckUtils]: 28: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,812 INFO L290 TraceCheckUtils]: 29: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,812 INFO L290 TraceCheckUtils]: 30: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,812 INFO L290 TraceCheckUtils]: 32: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,813 INFO L290 TraceCheckUtils]: 33: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,813 INFO L290 TraceCheckUtils]: 34: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,813 INFO L290 TraceCheckUtils]: 35: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,813 INFO L290 TraceCheckUtils]: 36: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,814 INFO L290 TraceCheckUtils]: 37: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,814 INFO L290 TraceCheckUtils]: 38: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,814 INFO L290 TraceCheckUtils]: 39: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,815 INFO L290 TraceCheckUtils]: 40: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,815 INFO L290 TraceCheckUtils]: 41: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,815 INFO L290 TraceCheckUtils]: 42: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,816 INFO L290 TraceCheckUtils]: 43: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,816 INFO L290 TraceCheckUtils]: 44: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,816 INFO L290 TraceCheckUtils]: 45: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,817 INFO L290 TraceCheckUtils]: 46: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,817 INFO L290 TraceCheckUtils]: 47: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,817 INFO L290 TraceCheckUtils]: 48: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,818 INFO L290 TraceCheckUtils]: 49: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,818 INFO L290 TraceCheckUtils]: 50: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,818 INFO L290 TraceCheckUtils]: 51: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,818 INFO L290 TraceCheckUtils]: 52: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,819 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} #91#return; {17513#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1))} is VALID [2022-04-28 09:01:04,819 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:01:04,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:04,822 INFO L290 TraceCheckUtils]: 0: Hoare triple {17446#true} ~cond := #in~cond; {17446#true} is VALID [2022-04-28 09:01:04,822 INFO L290 TraceCheckUtils]: 1: Hoare triple {17446#true} assume !(0 == ~cond); {17446#true} is VALID [2022-04-28 09:01:04,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {17446#true} assume true; {17446#true} is VALID [2022-04-28 09:01:04,823 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17446#true} {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} #93#return; {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-28 09:01:04,824 INFO L272 TraceCheckUtils]: 0: Hoare triple {17446#true} call ULTIMATE.init(); {17523#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:01:04,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {17523#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {17446#true} #95#return; {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,826 INFO L290 TraceCheckUtils]: 5: Hoare triple {17451#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {17452#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-28 09:01:04,826 INFO L290 TraceCheckUtils]: 6: Hoare triple {17452#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17452#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-28 09:01:04,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {17452#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17453#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {17453#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17453#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {17453#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17454#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,828 INFO L290 TraceCheckUtils]: 10: Hoare triple {17454#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17454#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {17454#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17455#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= main_~i~1 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,832 INFO L290 TraceCheckUtils]: 12: Hoare triple {17455#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= main_~i~1 1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17456#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-28 09:01:04,832 INFO L290 TraceCheckUtils]: 13: Hoare triple {17456#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17457#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (not (= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,833 INFO L290 TraceCheckUtils]: 14: Hoare triple {17457#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (not (= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,833 INFO L290 TraceCheckUtils]: 15: Hoare triple {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,834 INFO L290 TraceCheckUtils]: 16: Hoare triple {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:04,834 INFO L272 TraceCheckUtils]: 17: Hoare triple {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} call SelectionSort(); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,835 INFO L290 TraceCheckUtils]: 19: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,835 INFO L290 TraceCheckUtils]: 21: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,836 INFO L290 TraceCheckUtils]: 22: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,836 INFO L290 TraceCheckUtils]: 23: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,836 INFO L290 TraceCheckUtils]: 24: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,837 INFO L290 TraceCheckUtils]: 25: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,837 INFO L290 TraceCheckUtils]: 26: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,837 INFO L290 TraceCheckUtils]: 27: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,838 INFO L290 TraceCheckUtils]: 28: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,838 INFO L290 TraceCheckUtils]: 29: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,838 INFO L290 TraceCheckUtils]: 30: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,839 INFO L290 TraceCheckUtils]: 31: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,839 INFO L290 TraceCheckUtils]: 32: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {17524#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:04,839 INFO L290 TraceCheckUtils]: 33: Hoare triple {17524#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,840 INFO L290 TraceCheckUtils]: 34: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,840 INFO L290 TraceCheckUtils]: 35: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,840 INFO L290 TraceCheckUtils]: 36: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,840 INFO L290 TraceCheckUtils]: 37: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,841 INFO L290 TraceCheckUtils]: 38: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,841 INFO L290 TraceCheckUtils]: 39: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,841 INFO L290 TraceCheckUtils]: 40: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,841 INFO L290 TraceCheckUtils]: 41: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,841 INFO L290 TraceCheckUtils]: 42: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,842 INFO L290 TraceCheckUtils]: 43: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,842 INFO L290 TraceCheckUtils]: 44: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,842 INFO L290 TraceCheckUtils]: 45: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,843 INFO L290 TraceCheckUtils]: 46: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,843 INFO L290 TraceCheckUtils]: 47: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,843 INFO L290 TraceCheckUtils]: 48: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,843 INFO L290 TraceCheckUtils]: 49: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,844 INFO L290 TraceCheckUtils]: 50: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,844 INFO L290 TraceCheckUtils]: 51: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,844 INFO L290 TraceCheckUtils]: 52: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,844 INFO L290 TraceCheckUtils]: 53: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,845 INFO L290 TraceCheckUtils]: 54: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,845 INFO L290 TraceCheckUtils]: 55: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,845 INFO L290 TraceCheckUtils]: 56: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,846 INFO L290 TraceCheckUtils]: 57: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,846 INFO L290 TraceCheckUtils]: 58: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,846 INFO L290 TraceCheckUtils]: 59: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,846 INFO L290 TraceCheckUtils]: 60: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,847 INFO L290 TraceCheckUtils]: 61: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,847 INFO L290 TraceCheckUtils]: 62: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,847 INFO L290 TraceCheckUtils]: 63: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,848 INFO L290 TraceCheckUtils]: 64: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,848 INFO L290 TraceCheckUtils]: 65: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,848 INFO L290 TraceCheckUtils]: 66: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,849 INFO L290 TraceCheckUtils]: 67: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,849 INFO L290 TraceCheckUtils]: 68: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,849 INFO L290 TraceCheckUtils]: 69: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,849 INFO L290 TraceCheckUtils]: 70: Hoare triple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:01:04,850 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17525#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {17458#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 4)) 1) (<= |~#array~0.offset| 0))} #91#return; {17513#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1))} is VALID [2022-04-28 09:01:04,850 INFO L290 TraceCheckUtils]: 72: Hoare triple {17513#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1))} ~i~1 := 0; {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-28 09:01:04,851 INFO L290 TraceCheckUtils]: 73: Hoare triple {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-28 09:01:04,851 INFO L272 TraceCheckUtils]: 74: Hoare triple {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {17446#true} is VALID [2022-04-28 09:01:04,851 INFO L290 TraceCheckUtils]: 75: Hoare triple {17446#true} ~cond := #in~cond; {17446#true} is VALID [2022-04-28 09:01:04,851 INFO L290 TraceCheckUtils]: 76: Hoare triple {17446#true} assume !(0 == ~cond); {17446#true} is VALID [2022-04-28 09:01:04,851 INFO L290 TraceCheckUtils]: 77: Hoare triple {17446#true} assume true; {17446#true} is VALID [2022-04-28 09:01:04,851 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {17446#true} {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} #93#return; {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-28 09:01:04,852 INFO L290 TraceCheckUtils]: 79: Hoare triple {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} havoc #t~mem9; {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} is VALID [2022-04-28 09:01:04,852 INFO L290 TraceCheckUtils]: 80: Hoare triple {17514#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 4) 1) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {17519#(and (= |main_~#array~1.offset| 0) (= main_~i~1 1) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:04,852 INFO L290 TraceCheckUtils]: 81: Hoare triple {17519#(and (= |main_~#array~1.offset| 0) (= main_~i~1 1) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17520#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 1))} is VALID [2022-04-28 09:01:04,853 INFO L272 TraceCheckUtils]: 82: Hoare triple {17520#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {17521#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:01:04,853 INFO L290 TraceCheckUtils]: 83: Hoare triple {17521#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {17522#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:01:04,853 INFO L290 TraceCheckUtils]: 84: Hoare triple {17522#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {17447#false} is VALID [2022-04-28 09:01:04,853 INFO L290 TraceCheckUtils]: 85: Hoare triple {17447#false} assume !false; {17447#false} is VALID [2022-04-28 09:01:04,854 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 2 proven. 134 refuted. 0 times theorem prover too weak. 123 trivial. 0 not checked. [2022-04-28 09:01:04,854 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:01:04,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2142477747] [2022-04-28 09:01:04,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2142477747] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:01:04,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1831902244] [2022-04-28 09:01:04,854 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:01:04,854 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:01:04,854 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:01:04,855 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:01:04,856 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 09:01:04,965 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:01:04,966 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:01:04,971 INFO L263 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 09:01:04,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:04,986 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:01:05,027 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 09:01:05,028 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-28 09:01:05,150 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-28 09:01:05,246 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:01:05,247 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:01:05,791 INFO L390 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 16 treesize of output 18 [2022-04-28 09:01:06,201 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-28 09:01:06,201 INFO L390 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 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-28 09:01:06,281 INFO L272 TraceCheckUtils]: 0: Hoare triple {17446#true} call ULTIMATE.init(); {17446#true} is VALID [2022-04-28 09:01:06,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {17446#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:06,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:06,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {17446#true} #95#return; {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:06,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:06,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {17532#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {17545#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:06,284 INFO L290 TraceCheckUtils]: 6: Hoare triple {17545#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17545#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:06,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {17545#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17552#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:06,285 INFO L290 TraceCheckUtils]: 8: Hoare triple {17552#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17552#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:06,285 INFO L290 TraceCheckUtils]: 9: Hoare triple {17552#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17559#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 1)))} is VALID [2022-04-28 09:01:06,286 INFO L290 TraceCheckUtils]: 10: Hoare triple {17559#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 1)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17559#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 1)))} is VALID [2022-04-28 09:01:06,286 INFO L290 TraceCheckUtils]: 11: Hoare triple {17559#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 1)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17566#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 2)))} is VALID [2022-04-28 09:01:06,287 INFO L290 TraceCheckUtils]: 12: Hoare triple {17566#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 3 (+ main_~i~1 2)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17570#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= 3 (+ main_~i~1 2)))} is VALID [2022-04-28 09:01:06,287 INFO L290 TraceCheckUtils]: 13: Hoare triple {17570#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= 3 (+ main_~i~1 2)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17574#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-28 09:01:06,288 INFO L290 TraceCheckUtils]: 14: Hoare triple {17574#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-28 09:01:06,288 INFO L290 TraceCheckUtils]: 15: Hoare triple {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-28 09:01:06,289 INFO L290 TraceCheckUtils]: 16: Hoare triple {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} assume !(~i~1 >= 0); {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-28 09:01:06,289 INFO L272 TraceCheckUtils]: 17: Hoare triple {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} call SelectionSort(); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,299 INFO L290 TraceCheckUtils]: 18: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,300 INFO L290 TraceCheckUtils]: 19: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,300 INFO L290 TraceCheckUtils]: 20: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,301 INFO L290 TraceCheckUtils]: 21: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,301 INFO L290 TraceCheckUtils]: 22: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,302 INFO L290 TraceCheckUtils]: 23: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,302 INFO L290 TraceCheckUtils]: 24: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,302 INFO L290 TraceCheckUtils]: 25: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,303 INFO L290 TraceCheckUtils]: 26: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,303 INFO L290 TraceCheckUtils]: 27: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,304 INFO L290 TraceCheckUtils]: 28: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,304 INFO L290 TraceCheckUtils]: 29: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,304 INFO L290 TraceCheckUtils]: 30: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,305 INFO L290 TraceCheckUtils]: 31: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,305 INFO L290 TraceCheckUtils]: 32: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:06,306 INFO L290 TraceCheckUtils]: 33: Hoare triple {17588#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,306 INFO L290 TraceCheckUtils]: 34: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,307 INFO L290 TraceCheckUtils]: 35: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,307 INFO L290 TraceCheckUtils]: 36: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,308 INFO L290 TraceCheckUtils]: 37: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,308 INFO L290 TraceCheckUtils]: 38: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,309 INFO L290 TraceCheckUtils]: 39: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,309 INFO L290 TraceCheckUtils]: 40: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,310 INFO L290 TraceCheckUtils]: 41: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,310 INFO L290 TraceCheckUtils]: 42: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,311 INFO L290 TraceCheckUtils]: 43: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,311 INFO L290 TraceCheckUtils]: 44: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,312 INFO L290 TraceCheckUtils]: 45: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !(~i~0 < ~n~0); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,313 WARN L290 TraceCheckUtils]: 46: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is UNKNOWN [2022-04-28 09:01:06,314 INFO L290 TraceCheckUtils]: 47: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,314 INFO L290 TraceCheckUtils]: 48: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,315 INFO L290 TraceCheckUtils]: 49: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,315 INFO L290 TraceCheckUtils]: 50: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,315 INFO L290 TraceCheckUtils]: 51: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,316 INFO L290 TraceCheckUtils]: 52: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,316 INFO L290 TraceCheckUtils]: 53: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,317 INFO L290 TraceCheckUtils]: 54: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,317 INFO L290 TraceCheckUtils]: 55: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !(~i~0 < ~n~0); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,318 WARN L290 TraceCheckUtils]: 56: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is UNKNOWN [2022-04-28 09:01:06,319 INFO L290 TraceCheckUtils]: 57: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,319 INFO L290 TraceCheckUtils]: 58: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,320 INFO L290 TraceCheckUtils]: 59: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,320 INFO L290 TraceCheckUtils]: 60: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,320 INFO L290 TraceCheckUtils]: 61: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,321 INFO L290 TraceCheckUtils]: 62: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !(~i~0 < ~n~0); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,322 WARN L290 TraceCheckUtils]: 63: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is UNKNOWN [2022-04-28 09:01:06,323 INFO L290 TraceCheckUtils]: 64: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,323 INFO L290 TraceCheckUtils]: 65: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,323 INFO L290 TraceCheckUtils]: 66: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !(~i~0 < ~n~0); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,325 WARN L290 TraceCheckUtils]: 67: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is UNKNOWN [2022-04-28 09:01:06,325 INFO L290 TraceCheckUtils]: 68: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,326 INFO L290 TraceCheckUtils]: 69: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume !(~lh~0 < ~n~0); {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,326 INFO L290 TraceCheckUtils]: 70: Hoare triple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} assume true; {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} is VALID [2022-04-28 09:01:06,327 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17637#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_878 (Array Int Int))) (= (store |old(#memory_int)| |~#array~0.base| v_ArrVal_878) |#memory_int|)))} {17578#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} #91#return; {17752#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-28 09:01:06,327 INFO L290 TraceCheckUtils]: 72: Hoare triple {17752#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} ~i~1 := 0; {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} is VALID [2022-04-28 09:01:06,327 INFO L290 TraceCheckUtils]: 73: Hoare triple {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} is VALID [2022-04-28 09:01:06,328 INFO L272 TraceCheckUtils]: 74: Hoare triple {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} is VALID [2022-04-28 09:01:06,329 INFO L290 TraceCheckUtils]: 75: Hoare triple {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} ~cond := #in~cond; {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} is VALID [2022-04-28 09:01:06,329 INFO L290 TraceCheckUtils]: 76: Hoare triple {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} assume !(0 == ~cond); {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} is VALID [2022-04-28 09:01:06,329 INFO L290 TraceCheckUtils]: 77: Hoare triple {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} assume true; {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} is VALID [2022-04-28 09:01:06,330 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {17763#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_5| Int) (|v_main_~#array~1.base_BEFORE_CALL_5| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_5|) (+ |v_main_~#array~1.offset_BEFORE_CALL_5| 4)) 1) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_5|))))} {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} #93#return; {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} is VALID [2022-04-28 09:01:06,330 INFO L290 TraceCheckUtils]: 79: Hoare triple {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} havoc #t~mem9; {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} is VALID [2022-04-28 09:01:06,330 INFO L290 TraceCheckUtils]: 80: Hoare triple {17756#(and (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {17782#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} is VALID [2022-04-28 09:01:06,331 INFO L290 TraceCheckUtils]: 81: Hoare triple {17782#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 4 |main_~#array~1.offset|)) 1))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {17520#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 1))} is VALID [2022-04-28 09:01:06,331 INFO L272 TraceCheckUtils]: 82: Hoare triple {17520#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {17789#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:01:06,332 INFO L290 TraceCheckUtils]: 83: Hoare triple {17789#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17793#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:01:06,332 INFO L290 TraceCheckUtils]: 84: Hoare triple {17793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17447#false} is VALID [2022-04-28 09:01:06,332 INFO L290 TraceCheckUtils]: 85: Hoare triple {17447#false} assume !false; {17447#false} is VALID [2022-04-28 09:01:06,332 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 0 proven. 136 refuted. 0 times theorem prover too weak. 123 trivial. 0 not checked. [2022-04-28 09:01:06,332 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:01:06,535 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_889 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_889) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 4)) 1)) is different from false [2022-04-28 09:01:06,536 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1831902244] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:01:06,536 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:01:06,536 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 35 [2022-04-28 09:01:06,536 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:01:06,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [569541570] [2022-04-28 09:01:06,536 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [569541570] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:01:06,536 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:01:06,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 09:01:06,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1613767234] [2022-04-28 09:01:06,537 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:01:06,537 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 86 [2022-04-28 09:01:06,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:01:06,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:06,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:06,574 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 09:01:06,574 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:01:06,574 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 09:01:06,575 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=1348, Unknown=11, NotChecked=74, Total=1560 [2022-04-28 09:01:06,575 INFO L87 Difference]: Start difference. First operand 95 states and 114 transitions. Second operand has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:09,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:09,571 INFO L93 Difference]: Finished difference Result 126 states and 150 transitions. [2022-04-28 09:01:09,571 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 09:01:09,571 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 86 [2022-04-28 09:01:09,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:01:09,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:09,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 88 transitions. [2022-04-28 09:01:09,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:09,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 88 transitions. [2022-04-28 09:01:09,573 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 88 transitions. [2022-04-28 09:01:09,661 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:09,662 INFO L225 Difference]: With dead ends: 126 [2022-04-28 09:01:09,662 INFO L226 Difference]: Without dead ends: 124 [2022-04-28 09:01:09,663 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 83 SyntacticMatches, 8 SemanticMatches, 58 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 698 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=378, Invalid=3031, Unknown=17, NotChecked=114, Total=3540 [2022-04-28 09:01:09,663 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 132 mSDsluCounter, 19 mSDsCounter, 0 mSdLazyCounter, 737 mSolverCounterSat, 128 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 132 SdHoareTripleChecker+Valid, 47 SdHoareTripleChecker+Invalid, 865 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 128 IncrementalHoareTripleChecker+Valid, 737 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 09:01:09,664 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [132 Valid, 47 Invalid, 865 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [128 Valid, 737 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 09:01:09,664 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-28 09:01:09,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 103. [2022-04-28 09:01:09,966 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:01:09,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:09,967 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:09,967 INFO L87 Difference]: Start difference. First operand 124 states. Second operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:09,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:09,970 INFO L93 Difference]: Finished difference Result 124 states and 148 transitions. [2022-04-28 09:01:09,970 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 148 transitions. [2022-04-28 09:01:09,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:01:09,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:01:09,971 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 124 states. [2022-04-28 09:01:09,971 INFO L87 Difference]: Start difference. First operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 124 states. [2022-04-28 09:01:09,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:09,972 INFO L93 Difference]: Finished difference Result 124 states and 148 transitions. [2022-04-28 09:01:09,972 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 148 transitions. [2022-04-28 09:01:09,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:01:09,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:01:09,972 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:01:09,972 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:01:09,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 91 states have (on average 1.2197802197802199) internal successors, (111), 92 states have internal predecessors, (111), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:09,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 122 transitions. [2022-04-28 09:01:09,974 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 122 transitions. Word has length 86 [2022-04-28 09:01:09,974 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:01:09,974 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 122 transitions. [2022-04-28 09:01:09,974 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 2.2777777777777777) internal successors, (41), 16 states have internal predecessors, (41), 5 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:09,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 122 transitions. [2022-04-28 09:01:10,208 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:10,208 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-28 09:01:10,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-28 09:01:10,208 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:01:10,209 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:01:10,227 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-28 09:01:10,409 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:01:10,409 INFO L420 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:01:10,409 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:01:10,410 INFO L85 PathProgramCache]: Analyzing trace with hash -34321966, now seen corresponding path program 3 times [2022-04-28 09:01:10,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:01:10,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1401686372] [2022-04-28 09:01:10,412 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:01:10,413 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:01:10,413 INFO L85 PathProgramCache]: Analyzing trace with hash -34321966, now seen corresponding path program 4 times [2022-04-28 09:01:10,413 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:01:10,413 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1214724496] [2022-04-28 09:01:10,413 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:01:10,413 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:01:10,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:10,504 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:01:10,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:10,511 INFO L290 TraceCheckUtils]: 0: Hoare triple {18664#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:10,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:10,512 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {18596#true} #95#return; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:10,514 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:01:10,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:11,295 INFO L290 TraceCheckUtils]: 0: Hoare triple {18665#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {18596#true} is VALID [2022-04-28 09:01:11,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18666#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:01:11,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {18666#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18667#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:01:11,297 INFO L290 TraceCheckUtils]: 3: Hoare triple {18667#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18668#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:11,297 INFO L290 TraceCheckUtils]: 4: Hoare triple {18668#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18669#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:11,298 INFO L290 TraceCheckUtils]: 5: Hoare triple {18669#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18670#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:11,299 INFO L290 TraceCheckUtils]: 6: Hoare triple {18670#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18671#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:11,299 INFO L290 TraceCheckUtils]: 7: Hoare triple {18671#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18672#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:01:11,300 INFO L290 TraceCheckUtils]: 8: Hoare triple {18672#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18673#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:01:11,300 INFO L290 TraceCheckUtils]: 9: Hoare triple {18673#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18674#(and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:01:11,301 INFO L290 TraceCheckUtils]: 10: Hoare triple {18674#(and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18675#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:01:11,302 INFO L290 TraceCheckUtils]: 11: Hoare triple {18675#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18676#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (<= (+ 3 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} is VALID [2022-04-28 09:01:11,302 INFO L290 TraceCheckUtils]: 12: Hoare triple {18676#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (<= (+ 3 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18677#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:01:11,303 INFO L290 TraceCheckUtils]: 13: Hoare triple {18677#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18678#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:01:11,304 INFO L290 TraceCheckUtils]: 14: Hoare triple {18678#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {18679#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:01:11,305 INFO L290 TraceCheckUtils]: 15: Hoare triple {18679#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18680#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:01:11,306 INFO L290 TraceCheckUtils]: 16: Hoare triple {18680#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18681#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-28 09:01:11,306 INFO L290 TraceCheckUtils]: 17: Hoare triple {18681#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:11,307 INFO L290 TraceCheckUtils]: 18: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:11,307 INFO L290 TraceCheckUtils]: 19: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:11,308 INFO L290 TraceCheckUtils]: 20: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:01:11,309 INFO L290 TraceCheckUtils]: 21: Hoare triple {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:01:11,309 INFO L290 TraceCheckUtils]: 22: Hoare triple {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18684#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:11,310 INFO L290 TraceCheckUtils]: 23: Hoare triple {18684#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18685#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:01:11,311 INFO L290 TraceCheckUtils]: 24: Hoare triple {18685#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18686#(<= (+ 3 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:01:11,311 INFO L290 TraceCheckUtils]: 25: Hoare triple {18686#(<= (+ 3 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:11,311 INFO L290 TraceCheckUtils]: 26: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:11,311 INFO L290 TraceCheckUtils]: 27: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:11,311 INFO L290 TraceCheckUtils]: 28: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,311 INFO L290 TraceCheckUtils]: 29: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:11,311 INFO L290 TraceCheckUtils]: 30: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-28 09:01:11,311 INFO L290 TraceCheckUtils]: 31: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 32: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 33: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 34: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 35: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 36: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 37: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 38: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 39: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 40: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 41: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 42: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 43: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 44: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:11,312 INFO L290 TraceCheckUtils]: 45: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,313 INFO L290 TraceCheckUtils]: 46: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:11,313 INFO L290 TraceCheckUtils]: 47: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-28 09:01:11,313 INFO L290 TraceCheckUtils]: 48: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:11,313 INFO L290 TraceCheckUtils]: 49: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,313 INFO L290 TraceCheckUtils]: 50: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:11,313 INFO L290 TraceCheckUtils]: 51: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:11,313 INFO L290 TraceCheckUtils]: 52: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-28 09:01:11,313 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {18597#false} {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {18597#false} is VALID [2022-04-28 09:01:11,313 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:01:11,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:11,321 INFO L290 TraceCheckUtils]: 0: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-28 09:01:11,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-28 09:01:11,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-28 09:01:11,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-28 09:01:11,321 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:01:11,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:11,324 INFO L290 TraceCheckUtils]: 0: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-28 09:01:11,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-28 09:01:11,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-28 09:01:11,324 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-28 09:01:11,325 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18664#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:01:11,325 INFO L290 TraceCheckUtils]: 1: Hoare triple {18664#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,326 INFO L290 TraceCheckUtils]: 2: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {18596#true} #95#return; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,326 INFO L272 TraceCheckUtils]: 4: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,327 INFO L290 TraceCheckUtils]: 5: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,327 INFO L290 TraceCheckUtils]: 6: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,329 INFO L290 TraceCheckUtils]: 10: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,329 INFO L290 TraceCheckUtils]: 11: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,329 INFO L290 TraceCheckUtils]: 12: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,330 INFO L290 TraceCheckUtils]: 14: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,331 INFO L290 TraceCheckUtils]: 16: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:11,331 INFO L272 TraceCheckUtils]: 17: Hoare triple {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {18665#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:11,331 INFO L290 TraceCheckUtils]: 18: Hoare triple {18665#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {18596#true} is VALID [2022-04-28 09:01:11,332 INFO L290 TraceCheckUtils]: 19: Hoare triple {18596#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18666#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:01:11,332 INFO L290 TraceCheckUtils]: 20: Hoare triple {18666#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18667#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:01:11,333 INFO L290 TraceCheckUtils]: 21: Hoare triple {18667#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18668#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:11,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {18668#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18669#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:11,334 INFO L290 TraceCheckUtils]: 23: Hoare triple {18669#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18670#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:11,335 INFO L290 TraceCheckUtils]: 24: Hoare triple {18670#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18671#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:11,336 INFO L290 TraceCheckUtils]: 25: Hoare triple {18671#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18672#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:01:11,336 INFO L290 TraceCheckUtils]: 26: Hoare triple {18672#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18673#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:01:11,337 INFO L290 TraceCheckUtils]: 27: Hoare triple {18673#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18674#(and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:01:11,338 INFO L290 TraceCheckUtils]: 28: Hoare triple {18674#(and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18675#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:01:11,338 INFO L290 TraceCheckUtils]: 29: Hoare triple {18675#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18676#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (<= (+ 3 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} is VALID [2022-04-28 09:01:11,339 INFO L290 TraceCheckUtils]: 30: Hoare triple {18676#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (<= (+ 3 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18677#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:01:11,340 INFO L290 TraceCheckUtils]: 31: Hoare triple {18677#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18678#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:01:11,340 INFO L290 TraceCheckUtils]: 32: Hoare triple {18678#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {18679#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:01:11,341 INFO L290 TraceCheckUtils]: 33: Hoare triple {18679#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18680#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:01:11,342 INFO L290 TraceCheckUtils]: 34: Hoare triple {18680#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18681#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-28 09:01:11,343 INFO L290 TraceCheckUtils]: 35: Hoare triple {18681#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:11,344 INFO L290 TraceCheckUtils]: 36: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:11,344 INFO L290 TraceCheckUtils]: 37: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:11,345 INFO L290 TraceCheckUtils]: 38: Hoare triple {18682#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 3) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:01:11,345 INFO L290 TraceCheckUtils]: 39: Hoare triple {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:01:11,346 INFO L290 TraceCheckUtils]: 40: Hoare triple {18683#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18684#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:11,347 INFO L290 TraceCheckUtils]: 41: Hoare triple {18684#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18685#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:01:11,347 INFO L290 TraceCheckUtils]: 42: Hoare triple {18685#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 3 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18686#(<= (+ 3 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 43: Hoare triple {18686#(<= (+ 3 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 44: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 45: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 46: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 47: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 48: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 49: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 50: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 51: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 52: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 53: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 54: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:11,348 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 56: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 57: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 58: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 59: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 60: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 61: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 63: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 64: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 65: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 67: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 68: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:11,349 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-28 09:01:11,350 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18601#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {18597#false} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 73: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-28 09:01:11,350 INFO L272 TraceCheckUtils]: 74: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18596#true} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 75: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 76: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 77: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-28 09:01:11,350 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 80: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 81: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-28 09:01:11,350 INFO L272 TraceCheckUtils]: 82: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18596#true} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 83: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-28 09:01:11,350 INFO L290 TraceCheckUtils]: 84: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-28 09:01:11,351 INFO L290 TraceCheckUtils]: 85: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-28 09:01:11,351 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-28 09:01:11,351 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-28 09:01:11,351 INFO L290 TraceCheckUtils]: 88: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-28 09:01:11,351 INFO L290 TraceCheckUtils]: 89: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-28 09:01:11,351 INFO L272 TraceCheckUtils]: 90: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18597#false} is VALID [2022-04-28 09:01:11,351 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-28 09:01:11,351 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-28 09:01:11,351 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-28 09:01:11,352 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 125 proven. 61 refuted. 0 times theorem prover too weak. 85 trivial. 0 not checked. [2022-04-28 09:01:11,352 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:01:11,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1214724496] [2022-04-28 09:01:11,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1214724496] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:01:11,352 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1431007200] [2022-04-28 09:01:11,352 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:01:11,352 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:01:11,352 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:01:11,353 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:01:11,354 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-28 09:01:11,451 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:01:11,451 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:01:11,452 INFO L263 TraceCheckSpWp]: Trace formula consists of 300 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 09:01:11,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:11,482 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:01:12,292 INFO L356 Elim1Store]: treesize reduction 274, result has 11.6 percent of original size [2022-04-28 09:01:12,292 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 7 case distinctions, treesize of input 76 treesize of output 57 [2022-04-28 09:01:12,618 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-28 09:01:12,618 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 49 treesize of output 13 [2022-04-28 09:01:12,726 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18596#true} is VALID [2022-04-28 09:01:12,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {18596#true} is VALID [2022-04-28 09:01:12,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18596#true} #95#return; {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L272 TraceCheckUtils]: 4: Hoare triple {18596#true} call #t~ret10 := main(); {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L290 TraceCheckUtils]: 5: Hoare triple {18596#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L290 TraceCheckUtils]: 6: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L290 TraceCheckUtils]: 8: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L290 TraceCheckUtils]: 10: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-28 09:01:12,727 INFO L290 TraceCheckUtils]: 13: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-28 09:01:12,728 INFO L290 TraceCheckUtils]: 14: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-28 09:01:12,728 INFO L290 TraceCheckUtils]: 15: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-28 09:01:12,728 INFO L290 TraceCheckUtils]: 16: Hoare triple {18596#true} assume !(~i~1 >= 0); {18596#true} is VALID [2022-04-28 09:01:12,728 INFO L272 TraceCheckUtils]: 17: Hoare triple {18596#true} call SelectionSort(); {18596#true} is VALID [2022-04-28 09:01:12,728 INFO L290 TraceCheckUtils]: 18: Hoare triple {18596#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:12,729 INFO L290 TraceCheckUtils]: 19: Hoare triple {18744#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:12,729 INFO L290 TraceCheckUtils]: 20: Hoare triple {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:12,730 INFO L290 TraceCheckUtils]: 21: Hoare triple {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:12,730 INFO L290 TraceCheckUtils]: 22: Hoare triple {18748#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:12,731 INFO L290 TraceCheckUtils]: 23: Hoare triple {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:12,731 INFO L290 TraceCheckUtils]: 24: Hoare triple {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:12,732 INFO L290 TraceCheckUtils]: 25: Hoare triple {18758#(and (= SelectionSort_~lh~0 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:12,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:12,733 INFO L290 TraceCheckUtils]: 27: Hoare triple {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:12,733 INFO L290 TraceCheckUtils]: 28: Hoare triple {18768#(and (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:12,733 INFO L290 TraceCheckUtils]: 29: Hoare triple {18744#(= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:12,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {18744#(= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:12,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {18744#(= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:12,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {18744#(= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:12,735 INFO L290 TraceCheckUtils]: 33: Hoare triple {18744#(= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18744#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:12,735 INFO L290 TraceCheckUtils]: 34: Hoare triple {18744#(= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18796#(= (+ (- 1) SelectionSort_~lh~0) 0)} is VALID [2022-04-28 09:01:12,736 INFO L290 TraceCheckUtils]: 35: Hoare triple {18796#(= (+ (- 1) SelectionSort_~lh~0) 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18800#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-28 09:01:12,736 INFO L290 TraceCheckUtils]: 36: Hoare triple {18800#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18804#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:01:12,737 INFO L290 TraceCheckUtils]: 37: Hoare triple {18804#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18808#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:12,738 INFO L290 TraceCheckUtils]: 38: Hoare triple {18808#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18812#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) SelectionSort_~rh~0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:12,739 INFO L290 TraceCheckUtils]: 39: Hoare triple {18812#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 1) SelectionSort_~rh~0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18816#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:01:12,740 INFO L290 TraceCheckUtils]: 40: Hoare triple {18816#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18820#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:12,740 INFO L290 TraceCheckUtils]: 41: Hoare triple {18820#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18824#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:12,741 INFO L290 TraceCheckUtils]: 42: Hoare triple {18824#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18824#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:12,742 INFO L290 TraceCheckUtils]: 43: Hoare triple {18824#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:12,742 INFO L290 TraceCheckUtils]: 44: Hoare triple {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:12,743 INFO L290 TraceCheckUtils]: 45: Hoare triple {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} assume !(~i~0 < ~n~0); {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:12,744 INFO L290 TraceCheckUtils]: 46: Hoare triple {18831#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18841#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:12,745 INFO L290 TraceCheckUtils]: 47: Hoare triple {18841#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18845#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (= (+ (- 2) SelectionSort_~lh~0) 0))} is VALID [2022-04-28 09:01:12,746 INFO L290 TraceCheckUtils]: 48: Hoare triple {18845#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (= (+ (- 2) SelectionSort_~lh~0) 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18849#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:01:12,746 INFO L290 TraceCheckUtils]: 49: Hoare triple {18849#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18849#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:01:12,747 INFO L290 TraceCheckUtils]: 50: Hoare triple {18849#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18856#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:01:12,748 INFO L290 TraceCheckUtils]: 51: Hoare triple {18856#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18860#(and (= (+ SelectionSort_~i~0 (- 4)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} is VALID [2022-04-28 09:01:12,748 INFO L290 TraceCheckUtils]: 52: Hoare triple {18860#(and (= (+ SelectionSort_~i~0 (- 4)) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4) (- 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18864#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 53: Hoare triple {18864#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 54: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 56: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 57: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 58: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 59: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 60: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 61: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 63: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 64: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:12,749 INFO L290 TraceCheckUtils]: 65: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 67: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 68: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18596#true} #91#return; {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 73: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L272 TraceCheckUtils]: 74: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 75: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 76: Hoare triple {18597#false} assume !(0 == ~cond); {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 77: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18597#false} {18597#false} #93#return; {18597#false} is VALID [2022-04-28 09:01:12,750 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 80: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 81: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L272 TraceCheckUtils]: 82: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 83: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 84: Hoare triple {18597#false} assume !(0 == ~cond); {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 85: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18597#false} {18597#false} #93#return; {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 88: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 89: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L272 TraceCheckUtils]: 90: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-28 09:01:12,751 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-28 09:01:12,752 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 90 proven. 123 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-28 09:01:12,752 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:01:14,710 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 102 treesize of output 88 [2022-04-28 09:01:14,861 INFO L356 Elim1Store]: treesize reduction 117, result has 54.3 percent of original size [2022-04-28 09:01:14,861 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 2086 treesize of output 1969 [2022-04-28 09:01:17,314 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-28 09:01:17,314 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-28 09:01:17,314 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-28 09:01:17,314 INFO L272 TraceCheckUtils]: 90: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18597#false} is VALID [2022-04-28 09:01:17,314 INFO L290 TraceCheckUtils]: 89: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-28 09:01:17,314 INFO L290 TraceCheckUtils]: 88: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-28 09:01:17,314 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-28 09:01:17,314 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-28 09:01:17,314 INFO L290 TraceCheckUtils]: 85: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-28 09:01:17,314 INFO L290 TraceCheckUtils]: 84: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-28 09:01:17,315 INFO L290 TraceCheckUtils]: 83: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-28 09:01:17,315 INFO L272 TraceCheckUtils]: 82: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18596#true} is VALID [2022-04-28 09:01:17,315 INFO L290 TraceCheckUtils]: 81: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-28 09:01:17,315 INFO L290 TraceCheckUtils]: 80: Hoare triple {18597#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {18597#false} is VALID [2022-04-28 09:01:17,315 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-28 09:01:17,315 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-28 09:01:17,315 INFO L290 TraceCheckUtils]: 77: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-28 09:01:17,315 INFO L290 TraceCheckUtils]: 76: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-28 09:01:17,315 INFO L290 TraceCheckUtils]: 75: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-28 09:01:17,315 INFO L272 TraceCheckUtils]: 74: Hoare triple {18597#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {18596#true} is VALID [2022-04-28 09:01:17,315 INFO L290 TraceCheckUtils]: 73: Hoare triple {18597#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18597#false} is VALID [2022-04-28 09:01:17,315 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-28 09:01:17,315 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18596#true} #91#return; {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 68: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 67: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 65: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 64: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 63: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 61: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 60: Hoare triple {18597#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 59: Hoare triple {18597#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 58: Hoare triple {18597#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 57: Hoare triple {18597#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18597#false} is VALID [2022-04-28 09:01:17,316 INFO L290 TraceCheckUtils]: 56: Hoare triple {18597#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18597#false} is VALID [2022-04-28 09:01:17,317 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-28 09:01:17,317 INFO L290 TraceCheckUtils]: 54: Hoare triple {18597#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18597#false} is VALID [2022-04-28 09:01:17,317 INFO L290 TraceCheckUtils]: 53: Hoare triple {19111#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18597#false} is VALID [2022-04-28 09:01:17,318 INFO L290 TraceCheckUtils]: 52: Hoare triple {19115#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19111#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} is VALID [2022-04-28 09:01:17,318 INFO L290 TraceCheckUtils]: 51: Hoare triple {19119#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19115#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:01:17,319 INFO L290 TraceCheckUtils]: 50: Hoare triple {19123#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {19119#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:01:17,320 INFO L290 TraceCheckUtils]: 49: Hoare triple {19123#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19123#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:01:17,321 INFO L290 TraceCheckUtils]: 48: Hoare triple {19130#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {19123#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:01:17,321 INFO L290 TraceCheckUtils]: 47: Hoare triple {19134#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {19130#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:01:17,323 INFO L290 TraceCheckUtils]: 46: Hoare triple {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19134#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:01:17,323 INFO L290 TraceCheckUtils]: 45: Hoare triple {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:01:17,324 INFO L290 TraceCheckUtils]: 44: Hoare triple {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:01:17,325 INFO L290 TraceCheckUtils]: 43: Hoare triple {19148#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {19138#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:01:17,325 INFO L290 TraceCheckUtils]: 42: Hoare triple {19148#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19148#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:01:17,328 INFO L290 TraceCheckUtils]: 41: Hoare triple {19155#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19148#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:01:17,329 INFO L290 TraceCheckUtils]: 40: Hoare triple {19159#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {19155#(forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:01:17,329 INFO L290 TraceCheckUtils]: 39: Hoare triple {19163#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19159#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} is VALID [2022-04-28 09:01:17,333 INFO L290 TraceCheckUtils]: 38: Hoare triple {19167#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {19163#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:01:17,334 INFO L290 TraceCheckUtils]: 37: Hoare triple {19171#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {19167#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:01:17,337 INFO L290 TraceCheckUtils]: 36: Hoare triple {19175#(or (= (+ 4 (* SelectionSort_~i~0 4)) (* SelectionSort_~rh~0 4)) (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {19171#(or (forall ((v_ArrVal_960 Int) (v_ArrVal_959 Int)) (or (< v_ArrVal_959 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_960) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_959) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} is VALID [2022-04-28 09:01:17,337 INFO L290 TraceCheckUtils]: 35: Hoare triple {18596#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {19175#(or (= (+ 4 (* SelectionSort_~i~0 4)) (* SelectionSort_~rh~0 4)) (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:01:17,337 INFO L290 TraceCheckUtils]: 34: Hoare triple {18596#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {18596#true} is VALID [2022-04-28 09:01:17,337 INFO L290 TraceCheckUtils]: 33: Hoare triple {18596#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18596#true} is VALID [2022-04-28 09:01:17,337 INFO L290 TraceCheckUtils]: 32: Hoare triple {18596#true} assume !(~i~0 < ~n~0); {18596#true} is VALID [2022-04-28 09:01:17,337 INFO L290 TraceCheckUtils]: 31: Hoare triple {18596#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18596#true} is VALID [2022-04-28 09:01:17,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {18596#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 29: Hoare triple {18596#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 28: Hoare triple {18596#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 27: Hoare triple {18596#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 26: Hoare triple {18596#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 25: Hoare triple {18596#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {18596#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 23: Hoare triple {18596#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 22: Hoare triple {18596#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 21: Hoare triple {18596#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 20: Hoare triple {18596#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 19: Hoare triple {18596#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 18: Hoare triple {18596#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L272 TraceCheckUtils]: 17: Hoare triple {18596#true} call SelectionSort(); {18596#true} is VALID [2022-04-28 09:01:17,338 INFO L290 TraceCheckUtils]: 16: Hoare triple {18596#true} assume !(~i~1 >= 0); {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 15: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 14: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 12: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 11: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 10: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 8: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 7: Hoare triple {18596#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 6: Hoare triple {18596#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 5: Hoare triple {18596#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L272 TraceCheckUtils]: 4: Hoare triple {18596#true} call #t~ret10 := main(); {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18596#true} #95#return; {18596#true} is VALID [2022-04-28 09:01:17,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-28 09:01:17,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {18596#true} is VALID [2022-04-28 09:01:17,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18596#true} is VALID [2022-04-28 09:01:17,340 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 169 proven. 26 refuted. 0 times theorem prover too weak. 76 trivial. 0 not checked. [2022-04-28 09:01:17,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1431007200] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:01:17,340 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:01:17,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 21, 16] total 59 [2022-04-28 09:01:17,340 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:01:17,341 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1401686372] [2022-04-28 09:01:17,341 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1401686372] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:01:17,341 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:01:17,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 09:01:17,341 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [601478754] [2022-04-28 09:01:17,341 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:01:17,341 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 94 [2022-04-28 09:01:17,341 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:01:17,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:17,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:17,387 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 09:01:17,387 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:01:17,387 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 09:01:17,388 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=278, Invalid=3144, Unknown=0, NotChecked=0, Total=3422 [2022-04-28 09:01:17,388 INFO L87 Difference]: Start difference. First operand 103 states and 122 transitions. Second operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:26,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:26,806 INFO L93 Difference]: Finished difference Result 410 states and 529 transitions. [2022-04-28 09:01:26,806 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 68 states. [2022-04-28 09:01:26,806 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 94 [2022-04-28 09:01:26,806 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:01:26,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:26,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 188 transitions. [2022-04-28 09:01:26,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:26,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 188 transitions. [2022-04-28 09:01:26,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 188 transitions. [2022-04-28 09:01:27,057 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 188 edges. 188 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:27,063 INFO L225 Difference]: With dead ends: 410 [2022-04-28 09:01:27,063 INFO L226 Difference]: Without dead ends: 350 [2022-04-28 09:01:27,066 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 285 GetRequests, 163 SyntacticMatches, 0 SemanticMatches, 122 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3940 ImplicationChecksByTransitivity, 6.5s TimeCoverageRelationStatistics Valid=1711, Invalid=13541, Unknown=0, NotChecked=0, Total=15252 [2022-04-28 09:01:27,066 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 244 mSDsluCounter, 13 mSDsCounter, 0 mSdLazyCounter, 886 mSolverCounterSat, 363 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 244 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 1249 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 363 IncrementalHoareTripleChecker+Valid, 886 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 09:01:27,067 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [244 Valid, 33 Invalid, 1249 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [363 Valid, 886 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 09:01:27,068 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 350 states. [2022-04-28 09:01:28,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 350 to 233. [2022-04-28 09:01:28,298 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:01:28,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 350 states. Second operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:28,298 INFO L74 IsIncluded]: Start isIncluded. First operand 350 states. Second operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:28,298 INFO L87 Difference]: Start difference. First operand 350 states. Second operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:28,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:28,303 INFO L93 Difference]: Finished difference Result 350 states and 450 transitions. [2022-04-28 09:01:28,303 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 450 transitions. [2022-04-28 09:01:28,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:01:28,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:01:28,303 INFO L74 IsIncluded]: Start isIncluded. First operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 350 states. [2022-04-28 09:01:28,304 INFO L87 Difference]: Start difference. First operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 350 states. [2022-04-28 09:01:28,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:28,308 INFO L93 Difference]: Finished difference Result 350 states and 450 transitions. [2022-04-28 09:01:28,308 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 450 transitions. [2022-04-28 09:01:28,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:01:28,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:01:28,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:01:28,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:01:28,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 233 states, 221 states have (on average 1.3665158371040724) internal successors, (302), 222 states have internal predecessors, (302), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:28,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 313 transitions. [2022-04-28 09:01:28,311 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 313 transitions. Word has length 94 [2022-04-28 09:01:28,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:01:28,312 INFO L495 AbstractCegarLoop]: Abstraction has 233 states and 313 transitions. [2022-04-28 09:01:28,312 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 1.9615384615384615) internal successors, (51), 24 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:28,312 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 313 transitions. [2022-04-28 09:01:29,066 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:29,066 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 313 transitions. [2022-04-28 09:01:29,066 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-28 09:01:29,067 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:01:29,067 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 9, 5, 5, 5, 5, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:01:29,084 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-28 09:01:29,279 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:01:29,279 INFO L420 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:01:29,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:01:29,280 INFO L85 PathProgramCache]: Analyzing trace with hash -2062908076, now seen corresponding path program 1 times [2022-04-28 09:01:29,280 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:01:29,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1449009016] [2022-04-28 09:01:29,281 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:01:29,282 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:01:29,282 INFO L85 PathProgramCache]: Analyzing trace with hash -2062908076, now seen corresponding path program 2 times [2022-04-28 09:01:29,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:01:29,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [239724225] [2022-04-28 09:01:29,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:01:29,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:01:29,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:29,411 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:01:29,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:29,416 INFO L290 TraceCheckUtils]: 0: Hoare triple {21468#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:29,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {21405#(= |~#array~0.offset| 0)} assume true; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:29,416 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21405#(= |~#array~0.offset| 0)} {21400#true} #95#return; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:29,419 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:01:29,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:30,519 INFO L290 TraceCheckUtils]: 0: Hoare triple {21469#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {21400#true} is VALID [2022-04-28 09:01:30,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21470#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (not (= SelectionSort_~i~0 SelectionSort_~lh~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} is VALID [2022-04-28 09:01:30,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {21470#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (not (= SelectionSort_~i~0 SelectionSort_~lh~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21471#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} is VALID [2022-04-28 09:01:30,521 INFO L290 TraceCheckUtils]: 3: Hoare triple {21471#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21472#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:01:30,522 INFO L290 TraceCheckUtils]: 4: Hoare triple {21472#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21473#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} is VALID [2022-04-28 09:01:30,523 INFO L290 TraceCheckUtils]: 5: Hoare triple {21473#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21474#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} is VALID [2022-04-28 09:01:30,523 INFO L290 TraceCheckUtils]: 6: Hoare triple {21474#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21475#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:30,524 INFO L290 TraceCheckUtils]: 7: Hoare triple {21475#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:01:30,524 INFO L290 TraceCheckUtils]: 8: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:01:30,525 INFO L290 TraceCheckUtils]: 9: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:01:30,525 INFO L290 TraceCheckUtils]: 10: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21477#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:01:30,526 INFO L290 TraceCheckUtils]: 11: Hoare triple {21477#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21478#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-28 09:01:30,526 INFO L290 TraceCheckUtils]: 12: Hoare triple {21478#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21479#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-28 09:01:30,527 INFO L290 TraceCheckUtils]: 13: Hoare triple {21479#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21480#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (< SelectionSort_~i~0 ~n~0) (and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))))} is VALID [2022-04-28 09:01:30,528 INFO L290 TraceCheckUtils]: 14: Hoare triple {21480#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (< SelectionSort_~i~0 ~n~0) (and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))))} assume !(~i~0 < ~n~0); {21481#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* ~n~0 4) (+ (* SelectionSort_~rh~0 4) 4)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:01:30,529 INFO L290 TraceCheckUtils]: 15: Hoare triple {21481#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* ~n~0 4) (+ (* SelectionSort_~rh~0 4) 4)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21482#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:01:30,530 INFO L290 TraceCheckUtils]: 16: Hoare triple {21482#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21483#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-28 09:01:30,530 INFO L290 TraceCheckUtils]: 17: Hoare triple {21483#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21484#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:30,531 INFO L290 TraceCheckUtils]: 18: Hoare triple {21484#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:30,532 INFO L290 TraceCheckUtils]: 19: Hoare triple {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:30,532 INFO L290 TraceCheckUtils]: 20: Hoare triple {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:01:30,533 INFO L290 TraceCheckUtils]: 21: Hoare triple {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:01:30,534 INFO L290 TraceCheckUtils]: 22: Hoare triple {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21487#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)))} is VALID [2022-04-28 09:01:30,534 INFO L290 TraceCheckUtils]: 23: Hoare triple {21487#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21488#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (< ~n~0 (+ SelectionSort_~i~0 1)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))))))} is VALID [2022-04-28 09:01:30,535 INFO L290 TraceCheckUtils]: 24: Hoare triple {21488#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (< ~n~0 (+ SelectionSort_~i~0 1)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-28 09:01:30,536 INFO L290 TraceCheckUtils]: 25: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-28 09:01:30,536 INFO L290 TraceCheckUtils]: 26: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-28 09:01:30,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} assume !(~i~0 < ~n~0); {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-28 09:01:30,538 INFO L290 TraceCheckUtils]: 28: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21490#(and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-28 09:01:30,539 INFO L290 TraceCheckUtils]: 29: Hoare triple {21490#(and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21491#(and (or (< (+ SelectionSort_~lh~0 3) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 3) ~n~0))} is VALID [2022-04-28 09:01:30,539 INFO L290 TraceCheckUtils]: 30: Hoare triple {21491#(and (or (< (+ SelectionSort_~lh~0 3) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 3) ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21492#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:01:30,540 INFO L290 TraceCheckUtils]: 31: Hoare triple {21492#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21493#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem3| 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:01:30,540 INFO L290 TraceCheckUtils]: 32: Hoare triple {21493#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem3| 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21494#(and (or (and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (< (+ SelectionSort_~i~0 2) ~n~0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:01:30,541 INFO L290 TraceCheckUtils]: 33: Hoare triple {21494#(and (or (and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (< (+ SelectionSort_~i~0 2) ~n~0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21495#(or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:01:30,542 INFO L290 TraceCheckUtils]: 34: Hoare triple {21495#(or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21496#(or (<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:01:30,542 INFO L290 TraceCheckUtils]: 35: Hoare triple {21496#(or (<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21497#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-28 09:01:30,543 INFO L290 TraceCheckUtils]: 36: Hoare triple {21497#(<= (+ SelectionSort_~i~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:01:30,543 INFO L290 TraceCheckUtils]: 37: Hoare triple {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-28 09:01:30,543 INFO L290 TraceCheckUtils]: 38: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-28 09:01:30,543 INFO L290 TraceCheckUtils]: 39: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-28 09:01:30,543 INFO L290 TraceCheckUtils]: 40: Hoare triple {21401#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21401#false} is VALID [2022-04-28 09:01:30,543 INFO L290 TraceCheckUtils]: 41: Hoare triple {21401#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-28 09:01:30,543 INFO L290 TraceCheckUtils]: 42: Hoare triple {21401#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21401#false} is VALID [2022-04-28 09:01:30,543 INFO L290 TraceCheckUtils]: 43: Hoare triple {21401#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21401#false} is VALID [2022-04-28 09:01:30,544 INFO L290 TraceCheckUtils]: 44: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-28 09:01:30,544 INFO L290 TraceCheckUtils]: 45: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-28 09:01:30,544 INFO L290 TraceCheckUtils]: 46: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-28 09:01:30,544 INFO L290 TraceCheckUtils]: 47: Hoare triple {21401#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21401#false} is VALID [2022-04-28 09:01:30,544 INFO L290 TraceCheckUtils]: 48: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-28 09:01:30,544 INFO L290 TraceCheckUtils]: 49: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-28 09:01:30,544 INFO L290 TraceCheckUtils]: 50: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-28 09:01:30,544 INFO L290 TraceCheckUtils]: 51: Hoare triple {21401#false} assume !(~lh~0 < ~n~0); {21401#false} is VALID [2022-04-28 09:01:30,544 INFO L290 TraceCheckUtils]: 52: Hoare triple {21401#false} assume true; {21401#false} is VALID [2022-04-28 09:01:30,544 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {21401#false} {21405#(= |~#array~0.offset| 0)} #91#return; {21401#false} is VALID [2022-04-28 09:01:30,545 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:01:30,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:30,547 INFO L290 TraceCheckUtils]: 0: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-28 09:01:30,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-28 09:01:30,548 INFO L290 TraceCheckUtils]: 2: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-28 09:01:30,548 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-28 09:01:30,548 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:01:30,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:30,550 INFO L290 TraceCheckUtils]: 0: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-28 09:01:30,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-28 09:01:30,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-28 09:01:30,550 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-28 09:01:30,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {21400#true} call ULTIMATE.init(); {21468#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:01:30,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {21468#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {21405#(= |~#array~0.offset| 0)} assume true; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21405#(= |~#array~0.offset| 0)} {21400#true} #95#return; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,552 INFO L272 TraceCheckUtils]: 4: Hoare triple {21405#(= |~#array~0.offset| 0)} call #t~ret10 := main(); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {21405#(= |~#array~0.offset| 0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,552 INFO L290 TraceCheckUtils]: 6: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {21405#(= |~#array~0.offset| 0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,553 INFO L290 TraceCheckUtils]: 8: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {21405#(= |~#array~0.offset| 0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,554 INFO L290 TraceCheckUtils]: 10: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,554 INFO L290 TraceCheckUtils]: 11: Hoare triple {21405#(= |~#array~0.offset| 0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,554 INFO L290 TraceCheckUtils]: 12: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,554 INFO L290 TraceCheckUtils]: 13: Hoare triple {21405#(= |~#array~0.offset| 0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,555 INFO L290 TraceCheckUtils]: 15: Hoare triple {21405#(= |~#array~0.offset| 0)} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,555 INFO L290 TraceCheckUtils]: 16: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !(~i~1 >= 0); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:01:30,556 INFO L272 TraceCheckUtils]: 17: Hoare triple {21405#(= |~#array~0.offset| 0)} call SelectionSort(); {21469#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:30,556 INFO L290 TraceCheckUtils]: 18: Hoare triple {21469#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {21400#true} is VALID [2022-04-28 09:01:30,556 INFO L290 TraceCheckUtils]: 19: Hoare triple {21400#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21470#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (not (= SelectionSort_~i~0 SelectionSort_~lh~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} is VALID [2022-04-28 09:01:30,557 INFO L290 TraceCheckUtils]: 20: Hoare triple {21470#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (not (= SelectionSort_~i~0 SelectionSort_~lh~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21471#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} is VALID [2022-04-28 09:01:30,558 INFO L290 TraceCheckUtils]: 21: Hoare triple {21471#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21472#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:01:30,558 INFO L290 TraceCheckUtils]: 22: Hoare triple {21472#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21473#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} is VALID [2022-04-28 09:01:30,559 INFO L290 TraceCheckUtils]: 23: Hoare triple {21473#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21474#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} is VALID [2022-04-28 09:01:30,560 INFO L290 TraceCheckUtils]: 24: Hoare triple {21474#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21475#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:30,560 INFO L290 TraceCheckUtils]: 25: Hoare triple {21475#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:01:30,561 INFO L290 TraceCheckUtils]: 26: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:01:30,561 INFO L290 TraceCheckUtils]: 27: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:01:30,562 INFO L290 TraceCheckUtils]: 28: Hoare triple {21476#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21477#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:01:30,563 INFO L290 TraceCheckUtils]: 29: Hoare triple {21477#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21478#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-28 09:01:30,563 INFO L290 TraceCheckUtils]: 30: Hoare triple {21478#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21479#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-28 09:01:30,564 INFO L290 TraceCheckUtils]: 31: Hoare triple {21479#(and (or (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21480#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (< SelectionSort_~i~0 ~n~0) (and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))))} is VALID [2022-04-28 09:01:30,565 INFO L290 TraceCheckUtils]: 32: Hoare triple {21480#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (< SelectionSort_~i~0 ~n~0) (and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))))} assume !(~i~0 < ~n~0); {21481#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* ~n~0 4) (+ (* SelectionSort_~rh~0 4) 4)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:01:30,566 INFO L290 TraceCheckUtils]: 33: Hoare triple {21481#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* ~n~0 4) (+ (* SelectionSort_~rh~0 4) 4)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21482#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:01:30,566 INFO L290 TraceCheckUtils]: 34: Hoare triple {21482#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21483#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-28 09:01:30,567 INFO L290 TraceCheckUtils]: 35: Hoare triple {21483#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21484#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:30,568 INFO L290 TraceCheckUtils]: 36: Hoare triple {21484#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:30,569 INFO L290 TraceCheckUtils]: 37: Hoare triple {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:01:30,569 INFO L290 TraceCheckUtils]: 38: Hoare triple {21485#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:01:30,570 INFO L290 TraceCheckUtils]: 39: Hoare triple {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:01:30,571 INFO L290 TraceCheckUtils]: 40: Hoare triple {21486#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (= (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21487#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)))} is VALID [2022-04-28 09:01:30,572 INFO L290 TraceCheckUtils]: 41: Hoare triple {21487#(or (<= ~n~0 (+ SelectionSort_~i~0 1)) (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21488#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (< ~n~0 (+ SelectionSort_~i~0 1)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))))))} is VALID [2022-04-28 09:01:30,572 INFO L290 TraceCheckUtils]: 42: Hoare triple {21488#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (< ~n~0 (+ SelectionSort_~i~0 1)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-28 09:01:30,573 INFO L290 TraceCheckUtils]: 43: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-28 09:01:30,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-28 09:01:30,574 INFO L290 TraceCheckUtils]: 45: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} assume !(~i~0 < ~n~0); {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-28 09:01:30,575 INFO L290 TraceCheckUtils]: 46: Hoare triple {21489#(and (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21490#(and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} is VALID [2022-04-28 09:01:30,576 INFO L290 TraceCheckUtils]: 47: Hoare triple {21490#(and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 4) ~n~0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21491#(and (or (< (+ SelectionSort_~lh~0 3) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 3) ~n~0))} is VALID [2022-04-28 09:01:30,577 INFO L290 TraceCheckUtils]: 48: Hoare triple {21491#(and (or (< (+ SelectionSort_~lh~0 3) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~lh~0 3) ~n~0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21492#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:01:30,578 INFO L290 TraceCheckUtils]: 49: Hoare triple {21492#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21493#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem3| 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:01:30,578 INFO L290 TraceCheckUtils]: 50: Hoare triple {21493#(and (or (< (+ SelectionSort_~i~0 2) ~n~0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem3| 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21494#(and (or (and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (< (+ SelectionSort_~i~0 2) ~n~0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:01:30,579 INFO L290 TraceCheckUtils]: 51: Hoare triple {21494#(and (or (and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (< (+ SelectionSort_~i~0 2) ~n~0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21495#(or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:01:30,580 INFO L290 TraceCheckUtils]: 52: Hoare triple {21495#(or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21496#(or (<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:01:30,580 INFO L290 TraceCheckUtils]: 53: Hoare triple {21496#(or (<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21497#(<= (+ SelectionSort_~i~0 2) ~n~0)} is VALID [2022-04-28 09:01:30,581 INFO L290 TraceCheckUtils]: 54: Hoare triple {21497#(<= (+ SelectionSort_~i~0 2) ~n~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} is VALID [2022-04-28 09:01:30,581 INFO L290 TraceCheckUtils]: 55: Hoare triple {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-28 09:01:30,581 INFO L290 TraceCheckUtils]: 56: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-28 09:01:30,581 INFO L290 TraceCheckUtils]: 57: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-28 09:01:30,581 INFO L290 TraceCheckUtils]: 58: Hoare triple {21401#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 59: Hoare triple {21401#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 60: Hoare triple {21401#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 61: Hoare triple {21401#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 62: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 63: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 64: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 65: Hoare triple {21401#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 66: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 67: Hoare triple {21401#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 68: Hoare triple {21401#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 69: Hoare triple {21401#false} assume !(~lh~0 < ~n~0); {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 70: Hoare triple {21401#false} assume true; {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21401#false} {21405#(= |~#array~0.offset| 0)} #91#return; {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 72: Hoare triple {21401#false} ~i~1 := 0; {21401#false} is VALID [2022-04-28 09:01:30,582 INFO L290 TraceCheckUtils]: 73: Hoare triple {21401#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21401#false} is VALID [2022-04-28 09:01:30,583 INFO L272 TraceCheckUtils]: 74: Hoare triple {21401#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21400#true} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 75: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 76: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 77: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-28 09:01:30,583 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 79: Hoare triple {21401#false} havoc #t~mem9; {21401#false} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 80: Hoare triple {21401#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {21401#false} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 81: Hoare triple {21401#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21401#false} is VALID [2022-04-28 09:01:30,583 INFO L272 TraceCheckUtils]: 82: Hoare triple {21401#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21400#true} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 83: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 84: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 85: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-28 09:01:30,583 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 87: Hoare triple {21401#false} havoc #t~mem9; {21401#false} is VALID [2022-04-28 09:01:30,583 INFO L290 TraceCheckUtils]: 88: Hoare triple {21401#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {21401#false} is VALID [2022-04-28 09:01:30,584 INFO L290 TraceCheckUtils]: 89: Hoare triple {21401#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21401#false} is VALID [2022-04-28 09:01:30,584 INFO L272 TraceCheckUtils]: 90: Hoare triple {21401#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21401#false} is VALID [2022-04-28 09:01:30,584 INFO L290 TraceCheckUtils]: 91: Hoare triple {21401#false} ~cond := #in~cond; {21401#false} is VALID [2022-04-28 09:01:30,584 INFO L290 TraceCheckUtils]: 92: Hoare triple {21401#false} assume 0 == ~cond; {21401#false} is VALID [2022-04-28 09:01:30,584 INFO L290 TraceCheckUtils]: 93: Hoare triple {21401#false} assume !false; {21401#false} is VALID [2022-04-28 09:01:30,584 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 86 proven. 136 refuted. 0 times theorem prover too weak. 49 trivial. 0 not checked. [2022-04-28 09:01:30,584 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:01:30,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [239724225] [2022-04-28 09:01:30,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [239724225] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:01:30,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1878962957] [2022-04-28 09:01:30,585 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:01:30,585 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:01:30,585 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:01:30,586 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:01:30,586 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-28 09:01:30,707 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:01:30,707 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:01:30,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 351 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 09:01:30,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:30,735 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:01:30,798 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 09:01:30,799 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-28 09:01:30,927 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-28 09:01:31,034 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:01:31,034 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:01:31,129 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:01:31,130 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:01:31,724 INFO L390 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 16 treesize of output 18 [2022-04-28 09:01:32,494 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-28 09:01:32,494 INFO L390 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 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-28 09:01:32,598 INFO L272 TraceCheckUtils]: 0: Hoare triple {21400#true} call ULTIMATE.init(); {21400#true} is VALID [2022-04-28 09:01:32,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:32,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:32,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {21400#true} #95#return; {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:32,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:01:32,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {21505#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {21518#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:32,601 INFO L290 TraceCheckUtils]: 6: Hoare triple {21518#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21518#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:32,602 INFO L290 TraceCheckUtils]: 7: Hoare triple {21518#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21525#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:32,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {21525#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21525#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:32,602 INFO L290 TraceCheckUtils]: 9: Hoare triple {21525#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21532#(and (= 4 (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:01:32,603 INFO L290 TraceCheckUtils]: 10: Hoare triple {21532#(and (= 4 (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21536#(and (= 4 (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,603 INFO L290 TraceCheckUtils]: 11: Hoare triple {21536#(and (= 4 (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21540#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,604 INFO L290 TraceCheckUtils]: 12: Hoare triple {21540#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21540#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,604 INFO L290 TraceCheckUtils]: 13: Hoare triple {21540#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21547#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {21547#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,606 INFO L290 TraceCheckUtils]: 16: Hoare triple {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} assume !(~i~1 >= 0); {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,606 INFO L272 TraceCheckUtils]: 17: Hoare triple {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} call SelectionSort(); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,606 INFO L290 TraceCheckUtils]: 18: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,607 INFO L290 TraceCheckUtils]: 20: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,608 INFO L290 TraceCheckUtils]: 21: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,608 INFO L290 TraceCheckUtils]: 22: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,608 INFO L290 TraceCheckUtils]: 23: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,609 INFO L290 TraceCheckUtils]: 24: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,609 INFO L290 TraceCheckUtils]: 25: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,609 INFO L290 TraceCheckUtils]: 26: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,610 INFO L290 TraceCheckUtils]: 27: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,610 INFO L290 TraceCheckUtils]: 28: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,610 INFO L290 TraceCheckUtils]: 29: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,611 INFO L290 TraceCheckUtils]: 30: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,611 INFO L290 TraceCheckUtils]: 31: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,611 INFO L290 TraceCheckUtils]: 32: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,612 INFO L290 TraceCheckUtils]: 33: Hoare triple {21561#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,612 INFO L290 TraceCheckUtils]: 34: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,613 INFO L290 TraceCheckUtils]: 35: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,613 INFO L290 TraceCheckUtils]: 36: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,613 INFO L290 TraceCheckUtils]: 37: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,614 INFO L290 TraceCheckUtils]: 38: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,614 INFO L290 TraceCheckUtils]: 39: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,615 INFO L290 TraceCheckUtils]: 40: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,615 INFO L290 TraceCheckUtils]: 41: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,615 INFO L290 TraceCheckUtils]: 42: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,616 INFO L290 TraceCheckUtils]: 43: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,616 INFO L290 TraceCheckUtils]: 44: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,616 INFO L290 TraceCheckUtils]: 45: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,618 WARN L290 TraceCheckUtils]: 46: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:01:32,619 INFO L290 TraceCheckUtils]: 47: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,619 INFO L290 TraceCheckUtils]: 48: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,619 INFO L290 TraceCheckUtils]: 49: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,620 INFO L290 TraceCheckUtils]: 50: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,620 INFO L290 TraceCheckUtils]: 51: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,621 INFO L290 TraceCheckUtils]: 52: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,621 INFO L290 TraceCheckUtils]: 53: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,621 INFO L290 TraceCheckUtils]: 54: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,622 INFO L290 TraceCheckUtils]: 55: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,623 WARN L290 TraceCheckUtils]: 56: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:01:32,624 INFO L290 TraceCheckUtils]: 57: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,624 INFO L290 TraceCheckUtils]: 58: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,625 INFO L290 TraceCheckUtils]: 59: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,625 INFO L290 TraceCheckUtils]: 60: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,625 INFO L290 TraceCheckUtils]: 61: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,626 INFO L290 TraceCheckUtils]: 62: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,627 WARN L290 TraceCheckUtils]: 63: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:01:32,627 INFO L290 TraceCheckUtils]: 64: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,628 INFO L290 TraceCheckUtils]: 65: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,628 INFO L290 TraceCheckUtils]: 66: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,629 WARN L290 TraceCheckUtils]: 67: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:01:32,630 INFO L290 TraceCheckUtils]: 68: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,630 INFO L290 TraceCheckUtils]: 69: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume !(~lh~0 < ~n~0); {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,631 INFO L290 TraceCheckUtils]: 70: Hoare triple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} assume true; {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:01:32,631 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21610#(and (exists ((v_ArrVal_1040 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1040))) (= 3 |~#array~0.base|))} {21551#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} #91#return; {21725#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,632 INFO L290 TraceCheckUtils]: 72: Hoare triple {21725#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} ~i~1 := 0; {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-28 09:01:32,632 INFO L290 TraceCheckUtils]: 73: Hoare triple {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-28 09:01:32,633 INFO L272 TraceCheckUtils]: 74: Hoare triple {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-28 09:01:32,633 INFO L290 TraceCheckUtils]: 75: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} ~cond := #in~cond; {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-28 09:01:32,634 INFO L290 TraceCheckUtils]: 76: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} assume !(0 == ~cond); {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-28 09:01:32,634 INFO L290 TraceCheckUtils]: 77: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} assume true; {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-28 09:01:32,634 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} #93#return; {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-28 09:01:32,635 INFO L290 TraceCheckUtils]: 79: Hoare triple {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} havoc #t~mem9; {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} is VALID [2022-04-28 09:01:32,635 INFO L290 TraceCheckUtils]: 80: Hoare triple {21729#(and (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,635 INFO L290 TraceCheckUtils]: 81: Hoare triple {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,636 INFO L272 TraceCheckUtils]: 82: Hoare triple {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-28 09:01:32,636 INFO L290 TraceCheckUtils]: 83: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} ~cond := #in~cond; {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-28 09:01:32,637 INFO L290 TraceCheckUtils]: 84: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} assume !(0 == ~cond); {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-28 09:01:32,637 INFO L290 TraceCheckUtils]: 85: Hoare triple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} assume true; {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} is VALID [2022-04-28 09:01:32,637 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21736#(exists ((|v_main_~#array~1.base_BEFORE_CALL_8| Int) (|v_main_~#array~1.offset_BEFORE_CALL_8| Int)) (and (= 2 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_8|) (+ |v_main_~#array~1.offset_BEFORE_CALL_8| 8))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_8|))))} {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} #93#return; {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,638 INFO L290 TraceCheckUtils]: 87: Hoare triple {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} havoc #t~mem9; {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,638 INFO L290 TraceCheckUtils]: 88: Hoare triple {21755#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 1) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {21780#(and (= 1 (+ (- 1) main_~i~1)) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:32,639 INFO L290 TraceCheckUtils]: 89: Hoare triple {21780#(and (= 1 (+ (- 1) main_~i~1)) (not (= |main_~#array~1.base| 3)) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ 8 |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {21784#(and (= 1 (+ (- 1) main_~i~1)) (= 2 |main_#t~mem9|))} is VALID [2022-04-28 09:01:32,639 INFO L272 TraceCheckUtils]: 90: Hoare triple {21784#(and (= 1 (+ (- 1) main_~i~1)) (= 2 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {21788#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:01:32,639 INFO L290 TraceCheckUtils]: 91: Hoare triple {21788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:01:32,640 INFO L290 TraceCheckUtils]: 92: Hoare triple {21792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21401#false} is VALID [2022-04-28 09:01:32,640 INFO L290 TraceCheckUtils]: 93: Hoare triple {21401#false} assume !false; {21401#false} is VALID [2022-04-28 09:01:32,640 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 1 proven. 143 refuted. 0 times theorem prover too weak. 127 trivial. 0 not checked. [2022-04-28 09:01:32,640 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:01:32,939 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1051 (Array Int Int))) (= 2 (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1051) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 8)))) is different from false [2022-04-28 09:01:32,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1878962957] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:01:32,940 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:01:32,940 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 20] total 52 [2022-04-28 09:01:32,940 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:01:32,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1449009016] [2022-04-28 09:01:32,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1449009016] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:01:32,940 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:01:32,940 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-28 09:01:32,940 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1242803779] [2022-04-28 09:01:32,940 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:01:32,941 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 94 [2022-04-28 09:01:32,941 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:01:32,941 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:33,024 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:33,024 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-28 09:01:33,024 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:01:33,024 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-28 09:01:33,025 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=229, Invalid=2957, Unknown=10, NotChecked=110, Total=3306 [2022-04-28 09:01:33,025 INFO L87 Difference]: Start difference. First operand 233 states and 313 transitions. Second operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:48,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:48,761 INFO L93 Difference]: Finished difference Result 762 states and 1052 transitions. [2022-04-28 09:01:48,761 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 92 states. [2022-04-28 09:01:48,761 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 94 [2022-04-28 09:01:48,761 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:01:48,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:48,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 229 transitions. [2022-04-28 09:01:48,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:48,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 229 transitions. [2022-04-28 09:01:48,765 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 229 transitions. [2022-04-28 09:01:49,063 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 229 edges. 229 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:49,081 INFO L225 Difference]: With dead ends: 762 [2022-04-28 09:01:49,081 INFO L226 Difference]: Without dead ends: 701 [2022-04-28 09:01:49,084 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 246 GetRequests, 93 SyntacticMatches, 8 SemanticMatches, 145 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 5994 ImplicationChecksByTransitivity, 8.6s TimeCoverageRelationStatistics Valid=2620, Invalid=18543, Unknown=11, NotChecked=288, Total=21462 [2022-04-28 09:01:49,085 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 372 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 963 mSolverCounterSat, 357 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 372 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 1320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 357 IncrementalHoareTripleChecker+Valid, 963 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 09:01:49,085 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [372 Valid, 38 Invalid, 1320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [357 Valid, 963 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 09:01:49,085 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 701 states. [2022-04-28 09:01:52,515 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 701 to 465. [2022-04-28 09:01:52,515 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:01:52,515 INFO L82 GeneralOperation]: Start isEquivalent. First operand 701 states. Second operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:52,516 INFO L74 IsIncluded]: Start isIncluded. First operand 701 states. Second operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:52,516 INFO L87 Difference]: Start difference. First operand 701 states. Second operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:52,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:52,530 INFO L93 Difference]: Finished difference Result 701 states and 959 transitions. [2022-04-28 09:01:52,530 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 959 transitions. [2022-04-28 09:01:52,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:01:52,531 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:01:52,531 INFO L74 IsIncluded]: Start isIncluded. First operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 701 states. [2022-04-28 09:01:52,532 INFO L87 Difference]: Start difference. First operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 701 states. [2022-04-28 09:01:52,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:01:52,546 INFO L93 Difference]: Finished difference Result 701 states and 959 transitions. [2022-04-28 09:01:52,546 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 959 transitions. [2022-04-28 09:01:52,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:01:52,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:01:52,547 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:01:52,547 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:01:52,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 465 states, 453 states have (on average 1.3929359823399559) internal successors, (631), 454 states have internal predecessors, (631), 6 states have call successors, (6), 6 states have call predecessors, (6), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:01:52,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 465 states to 465 states and 642 transitions. [2022-04-28 09:01:52,557 INFO L78 Accepts]: Start accepts. Automaton has 465 states and 642 transitions. Word has length 94 [2022-04-28 09:01:52,557 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:01:52,557 INFO L495 AbstractCegarLoop]: Abstraction has 465 states and 642 transitions. [2022-04-28 09:01:52,557 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:01:52,557 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 465 states and 642 transitions. [2022-04-28 09:01:54,583 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 642 edges. 642 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:01:54,583 INFO L276 IsEmpty]: Start isEmpty. Operand 465 states and 642 transitions. [2022-04-28 09:01:54,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-28 09:01:54,584 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:01:54,584 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 8, 5, 5, 5, 5, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:01:54,611 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Ended with exit code 0 [2022-04-28 09:01:54,800 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-28 09:01:54,800 INFO L420 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:01:54,801 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:01:54,801 INFO L85 PathProgramCache]: Analyzing trace with hash -1639261354, now seen corresponding path program 3 times [2022-04-28 09:01:54,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:01:54,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1583569896] [2022-04-28 09:01:54,803 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:01:54,803 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:01:54,803 INFO L85 PathProgramCache]: Analyzing trace with hash -1639261354, now seen corresponding path program 4 times [2022-04-28 09:01:54,803 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:01:54,803 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [832292207] [2022-04-28 09:01:54,803 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:01:54,803 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:01:54,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:55,246 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:01:55,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:55,274 INFO L290 TraceCheckUtils]: 0: Hoare triple {25990#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,276 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {25908#true} #95#return; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,288 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:01:55,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:55,379 INFO L290 TraceCheckUtils]: 0: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {25991#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:55,380 INFO L290 TraceCheckUtils]: 1: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25991#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:55,380 INFO L290 TraceCheckUtils]: 2: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,381 INFO L290 TraceCheckUtils]: 3: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,381 INFO L290 TraceCheckUtils]: 4: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,382 INFO L290 TraceCheckUtils]: 5: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,382 INFO L290 TraceCheckUtils]: 6: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,383 INFO L290 TraceCheckUtils]: 7: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,383 INFO L290 TraceCheckUtils]: 8: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,383 INFO L290 TraceCheckUtils]: 9: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,384 INFO L290 TraceCheckUtils]: 10: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,384 INFO L290 TraceCheckUtils]: 11: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,385 INFO L290 TraceCheckUtils]: 12: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,385 INFO L290 TraceCheckUtils]: 13: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(~i~0 < ~n~0); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,387 INFO L290 TraceCheckUtils]: 16: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,387 INFO L290 TraceCheckUtils]: 17: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,388 INFO L290 TraceCheckUtils]: 18: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,388 INFO L290 TraceCheckUtils]: 19: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,389 INFO L290 TraceCheckUtils]: 21: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,389 INFO L290 TraceCheckUtils]: 22: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,390 INFO L290 TraceCheckUtils]: 23: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,390 INFO L290 TraceCheckUtils]: 24: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,391 INFO L290 TraceCheckUtils]: 26: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,392 INFO L290 TraceCheckUtils]: 28: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,393 INFO L290 TraceCheckUtils]: 29: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,393 INFO L290 TraceCheckUtils]: 30: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,394 INFO L290 TraceCheckUtils]: 31: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,394 INFO L290 TraceCheckUtils]: 32: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,395 INFO L290 TraceCheckUtils]: 33: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,395 INFO L290 TraceCheckUtils]: 34: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,395 INFO L290 TraceCheckUtils]: 35: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,396 INFO L290 TraceCheckUtils]: 36: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,396 INFO L290 TraceCheckUtils]: 37: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,397 INFO L290 TraceCheckUtils]: 38: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,397 INFO L290 TraceCheckUtils]: 39: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,398 INFO L290 TraceCheckUtils]: 40: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,398 INFO L290 TraceCheckUtils]: 41: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,399 INFO L290 TraceCheckUtils]: 42: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,399 INFO L290 TraceCheckUtils]: 43: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,400 INFO L290 TraceCheckUtils]: 44: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,400 INFO L290 TraceCheckUtils]: 45: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,401 INFO L290 TraceCheckUtils]: 46: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,401 INFO L290 TraceCheckUtils]: 47: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,402 INFO L290 TraceCheckUtils]: 48: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,402 INFO L290 TraceCheckUtils]: 49: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,403 INFO L290 TraceCheckUtils]: 50: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,403 INFO L290 TraceCheckUtils]: 51: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~lh~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,403 INFO L290 TraceCheckUtils]: 52: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume true; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,404 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} #91#return; {25975#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2))} is VALID [2022-04-28 09:01:55,405 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:01:55,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:55,408 INFO L290 TraceCheckUtils]: 0: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-28 09:01:55,408 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-28 09:01:55,408 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-28 09:01:55,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} #93#return; {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} is VALID [2022-04-28 09:01:55,409 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:01:55,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:55,412 INFO L290 TraceCheckUtils]: 0: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-28 09:01:55,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-28 09:01:55,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-28 09:01:55,413 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} #93#return; {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} is VALID [2022-04-28 09:01:55,413 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25990#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:01:55,414 INFO L290 TraceCheckUtils]: 1: Hoare triple {25990#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,415 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {25908#true} #95#return; {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,415 INFO L272 TraceCheckUtils]: 4: Hoare triple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,416 INFO L290 TraceCheckUtils]: 5: Hoare triple {25913#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {25914#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-28 09:01:55,416 INFO L290 TraceCheckUtils]: 6: Hoare triple {25914#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25914#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-28 09:01:55,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {25914#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25915#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {25915#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25915#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {25915#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= 3 main_~i~1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25916#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-28 09:01:55,418 INFO L290 TraceCheckUtils]: 10: Hoare triple {25916#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 2 main_~i~1) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25917#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-28 09:01:55,419 INFO L290 TraceCheckUtils]: 11: Hoare triple {25917#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0) (= 2 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25918#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ main_~i~1 1) (div (+ |~#array~0.offset| 8 (* (- 1) |main_~#array~1.offset|)) 4)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,420 INFO L290 TraceCheckUtils]: 12: Hoare triple {25918#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ main_~i~1 1) (div (+ |~#array~0.offset| 8 (* (- 1) |main_~#array~1.offset|)) 4)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25918#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ main_~i~1 1) (div (+ |~#array~0.offset| 8 (* (- 1) |main_~#array~1.offset|)) 4)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,421 INFO L290 TraceCheckUtils]: 13: Hoare triple {25918#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ main_~i~1 1) (div (+ |~#array~0.offset| 8 (* (- 1) |main_~#array~1.offset|)) 4)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25919#(and (not (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,421 INFO L290 TraceCheckUtils]: 14: Hoare triple {25919#(and (not (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,422 INFO L290 TraceCheckUtils]: 16: Hoare triple {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:01:55,423 INFO L272 TraceCheckUtils]: 17: Hoare triple {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} call SelectionSort(); {25991#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:55,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {25991#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:55,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25991#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:01:55,424 INFO L290 TraceCheckUtils]: 20: Hoare triple {25991#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,424 INFO L290 TraceCheckUtils]: 21: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,424 INFO L290 TraceCheckUtils]: 22: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,426 INFO L290 TraceCheckUtils]: 26: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,427 INFO L290 TraceCheckUtils]: 28: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,427 INFO L290 TraceCheckUtils]: 29: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,427 INFO L290 TraceCheckUtils]: 30: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,428 INFO L290 TraceCheckUtils]: 31: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,428 INFO L290 TraceCheckUtils]: 32: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(~i~0 < ~n~0); {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:01:55,429 INFO L290 TraceCheckUtils]: 33: Hoare triple {25992#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,429 INFO L290 TraceCheckUtils]: 34: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,429 INFO L290 TraceCheckUtils]: 35: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,430 INFO L290 TraceCheckUtils]: 36: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,430 INFO L290 TraceCheckUtils]: 37: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,430 INFO L290 TraceCheckUtils]: 38: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,431 INFO L290 TraceCheckUtils]: 39: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,431 INFO L290 TraceCheckUtils]: 40: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,432 INFO L290 TraceCheckUtils]: 41: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,432 INFO L290 TraceCheckUtils]: 42: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,432 INFO L290 TraceCheckUtils]: 43: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,433 INFO L290 TraceCheckUtils]: 44: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,433 INFO L290 TraceCheckUtils]: 45: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,434 INFO L290 TraceCheckUtils]: 46: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,434 INFO L290 TraceCheckUtils]: 47: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,434 INFO L290 TraceCheckUtils]: 48: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,435 INFO L290 TraceCheckUtils]: 49: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,435 INFO L290 TraceCheckUtils]: 50: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,435 INFO L290 TraceCheckUtils]: 51: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,436 INFO L290 TraceCheckUtils]: 52: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,436 INFO L290 TraceCheckUtils]: 53: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,437 INFO L290 TraceCheckUtils]: 54: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,437 INFO L290 TraceCheckUtils]: 55: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,438 INFO L290 TraceCheckUtils]: 56: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,438 INFO L290 TraceCheckUtils]: 57: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,438 INFO L290 TraceCheckUtils]: 58: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,439 INFO L290 TraceCheckUtils]: 59: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,439 INFO L290 TraceCheckUtils]: 60: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,439 INFO L290 TraceCheckUtils]: 61: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,440 INFO L290 TraceCheckUtils]: 62: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,440 INFO L290 TraceCheckUtils]: 63: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,441 INFO L290 TraceCheckUtils]: 64: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,441 INFO L290 TraceCheckUtils]: 65: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,441 INFO L290 TraceCheckUtils]: 66: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,442 INFO L290 TraceCheckUtils]: 67: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,442 INFO L290 TraceCheckUtils]: 68: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,443 INFO L290 TraceCheckUtils]: 69: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~lh~0 < ~n~0); {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,443 INFO L290 TraceCheckUtils]: 70: Hoare triple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume true; {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:01:55,444 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25993#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} {25920#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ |~#array~0.offset| 8)) 2) (<= |~#array~0.offset| 0))} #91#return; {25975#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2))} is VALID [2022-04-28 09:01:55,444 INFO L290 TraceCheckUtils]: 72: Hoare triple {25975#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2))} ~i~1 := 0; {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} is VALID [2022-04-28 09:01:55,445 INFO L290 TraceCheckUtils]: 73: Hoare triple {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} is VALID [2022-04-28 09:01:55,445 INFO L272 TraceCheckUtils]: 74: Hoare triple {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25908#true} is VALID [2022-04-28 09:01:55,445 INFO L290 TraceCheckUtils]: 75: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-28 09:01:55,445 INFO L290 TraceCheckUtils]: 76: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-28 09:01:55,445 INFO L290 TraceCheckUtils]: 77: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-28 09:01:55,445 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25908#true} {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} #93#return; {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} is VALID [2022-04-28 09:01:55,446 INFO L290 TraceCheckUtils]: 79: Hoare triple {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} havoc #t~mem9; {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} is VALID [2022-04-28 09:01:55,446 INFO L290 TraceCheckUtils]: 80: Hoare triple {25976#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 8) 2) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} is VALID [2022-04-28 09:01:55,447 INFO L290 TraceCheckUtils]: 81: Hoare triple {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} is VALID [2022-04-28 09:01:55,447 INFO L272 TraceCheckUtils]: 82: Hoare triple {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25908#true} is VALID [2022-04-28 09:01:55,447 INFO L290 TraceCheckUtils]: 83: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-28 09:01:55,447 INFO L290 TraceCheckUtils]: 84: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-28 09:01:55,447 INFO L290 TraceCheckUtils]: 85: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-28 09:01:55,447 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25908#true} {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} #93#return; {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} is VALID [2022-04-28 09:01:55,448 INFO L290 TraceCheckUtils]: 87: Hoare triple {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} havoc #t~mem9; {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} is VALID [2022-04-28 09:01:55,448 INFO L290 TraceCheckUtils]: 88: Hoare triple {25981#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) 2) (<= main_~i~1 1))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25986#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:01:55,449 INFO L290 TraceCheckUtils]: 89: Hoare triple {25986#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25987#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 2))} is VALID [2022-04-28 09:01:55,449 INFO L272 TraceCheckUtils]: 90: Hoare triple {25987#(and (= main_~i~1 |main_#t~mem9|) (= main_~i~1 2))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25988#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:01:55,450 INFO L290 TraceCheckUtils]: 91: Hoare triple {25988#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {25989#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:01:55,450 INFO L290 TraceCheckUtils]: 92: Hoare triple {25989#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {25909#false} is VALID [2022-04-28 09:01:55,450 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-28 09:01:55,450 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 4 proven. 144 refuted. 0 times theorem prover too weak. 123 trivial. 0 not checked. [2022-04-28 09:01:55,451 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:01:55,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [832292207] [2022-04-28 09:01:55,451 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [832292207] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:01:55,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1429867623] [2022-04-28 09:01:55,451 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:01:55,451 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:01:55,451 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:01:55,452 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:01:55,453 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-28 09:01:55,576 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:01:55,576 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:01:55,578 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 09:01:55,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:01:55,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:01:56,083 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-28 09:01:56,083 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 55 treesize of output 42 [2022-04-28 09:01:56,203 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-28 09:01:56,204 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 34 treesize of output 10 [2022-04-28 09:01:56,303 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25908#true} is VALID [2022-04-28 09:01:56,303 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {25908#true} is VALID [2022-04-28 09:01:56,303 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-28 09:01:56,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25908#true} #95#return; {25908#true} is VALID [2022-04-28 09:01:56,303 INFO L272 TraceCheckUtils]: 4: Hoare triple {25908#true} call #t~ret10 := main(); {25908#true} is VALID [2022-04-28 09:01:56,303 INFO L290 TraceCheckUtils]: 5: Hoare triple {25908#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 6: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 7: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 8: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 9: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 10: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 11: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 12: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 13: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 14: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 15: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L290 TraceCheckUtils]: 16: Hoare triple {25908#true} assume !(~i~1 >= 0); {25908#true} is VALID [2022-04-28 09:01:56,304 INFO L272 TraceCheckUtils]: 17: Hoare triple {25908#true} call SelectionSort(); {25908#true} is VALID [2022-04-28 09:01:56,305 INFO L290 TraceCheckUtils]: 18: Hoare triple {25908#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:56,305 INFO L290 TraceCheckUtils]: 19: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:56,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:56,306 INFO L290 TraceCheckUtils]: 21: Hoare triple {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:56,306 INFO L290 TraceCheckUtils]: 22: Hoare triple {26055#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:56,307 INFO L290 TraceCheckUtils]: 23: Hoare triple {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:56,307 INFO L290 TraceCheckUtils]: 24: Hoare triple {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:01:56,307 INFO L290 TraceCheckUtils]: 25: Hoare triple {26065#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:56,307 INFO L290 TraceCheckUtils]: 26: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:56,308 INFO L290 TraceCheckUtils]: 27: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:56,308 INFO L290 TraceCheckUtils]: 28: Hoare triple {26051#(= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:56,308 INFO L290 TraceCheckUtils]: 29: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:56,308 INFO L290 TraceCheckUtils]: 30: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:56,309 INFO L290 TraceCheckUtils]: 31: Hoare triple {26051#(= SelectionSort_~lh~0 0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:56,309 INFO L290 TraceCheckUtils]: 32: Hoare triple {26051#(= SelectionSort_~lh~0 0)} assume !(~i~0 < ~n~0); {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:56,309 INFO L290 TraceCheckUtils]: 33: Hoare triple {26051#(= SelectionSort_~lh~0 0)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26051#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:01:56,310 INFO L290 TraceCheckUtils]: 34: Hoare triple {26051#(= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {26102#(= (+ (- 1) SelectionSort_~lh~0) 0)} is VALID [2022-04-28 09:01:56,310 INFO L290 TraceCheckUtils]: 35: Hoare triple {26102#(= (+ (- 1) SelectionSort_~lh~0) 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {26106#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-28 09:01:56,310 INFO L290 TraceCheckUtils]: 36: Hoare triple {26106#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26110#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:01:56,311 INFO L290 TraceCheckUtils]: 37: Hoare triple {26110#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26114#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:56,312 INFO L290 TraceCheckUtils]: 38: Hoare triple {26114#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26118#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:56,312 INFO L290 TraceCheckUtils]: 39: Hoare triple {26118#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26118#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:56,312 INFO L290 TraceCheckUtils]: 40: Hoare triple {26118#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:56,313 INFO L290 TraceCheckUtils]: 41: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:56,313 INFO L290 TraceCheckUtils]: 42: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:56,314 INFO L290 TraceCheckUtils]: 43: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:56,314 INFO L290 TraceCheckUtils]: 44: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:56,315 INFO L290 TraceCheckUtils]: 45: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(~i~0 < ~n~0); {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:01:56,316 INFO L290 TraceCheckUtils]: 46: Hoare triple {26125#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26144#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:01:56,316 INFO L290 TraceCheckUtils]: 47: Hoare triple {26144#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {26148#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-28 09:01:56,316 INFO L290 TraceCheckUtils]: 48: Hoare triple {26148#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12))) (= SelectionSort_~lh~0 2))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {26152#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:01:56,317 INFO L290 TraceCheckUtils]: 49: Hoare triple {26152#(and (= 2 (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26156#(< |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:01:56,317 INFO L290 TraceCheckUtils]: 50: Hoare triple {26156#(< |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25909#false} is VALID [2022-04-28 09:01:56,317 INFO L290 TraceCheckUtils]: 51: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-28 09:01:56,317 INFO L290 TraceCheckUtils]: 52: Hoare triple {25909#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-28 09:01:56,317 INFO L290 TraceCheckUtils]: 53: Hoare triple {25909#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25909#false} is VALID [2022-04-28 09:01:56,317 INFO L290 TraceCheckUtils]: 54: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 55: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 56: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 57: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 58: Hoare triple {25909#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 59: Hoare triple {25909#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 60: Hoare triple {25909#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 61: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 62: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 63: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 64: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 65: Hoare triple {25909#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 66: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 67: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-28 09:01:56,318 INFO L290 TraceCheckUtils]: 68: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L290 TraceCheckUtils]: 69: Hoare triple {25909#false} assume !(~lh~0 < ~n~0); {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L290 TraceCheckUtils]: 70: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25909#false} {25908#true} #91#return; {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L290 TraceCheckUtils]: 72: Hoare triple {25909#false} ~i~1 := 0; {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L290 TraceCheckUtils]: 73: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L272 TraceCheckUtils]: 74: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L290 TraceCheckUtils]: 75: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L290 TraceCheckUtils]: 76: Hoare triple {25909#false} assume !(0 == ~cond); {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L290 TraceCheckUtils]: 77: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25909#false} {25909#false} #93#return; {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L290 TraceCheckUtils]: 79: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L290 TraceCheckUtils]: 80: Hoare triple {25909#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L290 TraceCheckUtils]: 81: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-28 09:01:56,319 INFO L272 TraceCheckUtils]: 82: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L290 TraceCheckUtils]: 83: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L290 TraceCheckUtils]: 84: Hoare triple {25909#false} assume !(0 == ~cond); {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L290 TraceCheckUtils]: 85: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25909#false} {25909#false} #93#return; {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L290 TraceCheckUtils]: 87: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L290 TraceCheckUtils]: 88: Hoare triple {25909#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L290 TraceCheckUtils]: 89: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L272 TraceCheckUtils]: 90: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L290 TraceCheckUtils]: 91: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L290 TraceCheckUtils]: 92: Hoare triple {25909#false} assume 0 == ~cond; {25909#false} is VALID [2022-04-28 09:01:56,320 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-28 09:01:56,321 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 108 proven. 92 refuted. 0 times theorem prover too weak. 71 trivial. 0 not checked. [2022-04-28 09:01:56,321 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:02:00,708 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 82 treesize of output 72 [2022-04-28 09:02:00,813 INFO L356 Elim1Store]: treesize reduction 81, result has 52.1 percent of original size [2022-04-28 09:02:00,814 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 2070 treesize of output 1915 [2022-04-28 09:02:01,644 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-28 09:02:01,644 INFO L290 TraceCheckUtils]: 92: Hoare triple {25909#false} assume 0 == ~cond; {25909#false} is VALID [2022-04-28 09:02:01,644 INFO L290 TraceCheckUtils]: 91: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-28 09:02:01,644 INFO L272 TraceCheckUtils]: 90: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25909#false} is VALID [2022-04-28 09:02:01,645 INFO L290 TraceCheckUtils]: 89: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-28 09:02:01,645 INFO L290 TraceCheckUtils]: 88: Hoare triple {25909#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25909#false} is VALID [2022-04-28 09:02:01,645 INFO L290 TraceCheckUtils]: 87: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-28 09:02:01,645 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25908#true} {25909#false} #93#return; {25909#false} is VALID [2022-04-28 09:02:01,645 INFO L290 TraceCheckUtils]: 85: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-28 09:02:01,645 INFO L290 TraceCheckUtils]: 84: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-28 09:02:01,645 INFO L290 TraceCheckUtils]: 83: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-28 09:02:01,645 INFO L272 TraceCheckUtils]: 82: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25908#true} is VALID [2022-04-28 09:02:01,645 INFO L290 TraceCheckUtils]: 81: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-28 09:02:01,645 INFO L290 TraceCheckUtils]: 80: Hoare triple {25909#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {25909#false} is VALID [2022-04-28 09:02:01,645 INFO L290 TraceCheckUtils]: 79: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-28 09:02:01,645 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25908#true} {25909#false} #93#return; {25909#false} is VALID [2022-04-28 09:02:01,645 INFO L290 TraceCheckUtils]: 77: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 76: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 75: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-28 09:02:01,646 INFO L272 TraceCheckUtils]: 74: Hoare triple {25909#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {25908#true} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 73: Hoare triple {25909#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 72: Hoare triple {25909#false} ~i~1 := 0; {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25909#false} {25908#true} #91#return; {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 70: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 69: Hoare triple {25909#false} assume !(~lh~0 < ~n~0); {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 68: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 67: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 66: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 65: Hoare triple {25909#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 64: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 63: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-28 09:02:01,646 INFO L290 TraceCheckUtils]: 62: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 61: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 60: Hoare triple {25909#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 59: Hoare triple {25909#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 58: Hoare triple {25909#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 57: Hoare triple {25909#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 56: Hoare triple {25909#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 55: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 54: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 53: Hoare triple {25909#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 52: Hoare triple {25909#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25909#false} is VALID [2022-04-28 09:02:01,647 INFO L290 TraceCheckUtils]: 51: Hoare triple {25909#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25909#false} is VALID [2022-04-28 09:02:01,648 INFO L290 TraceCheckUtils]: 50: Hoare triple {26421#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25909#false} is VALID [2022-04-28 09:02:01,648 INFO L290 TraceCheckUtils]: 49: Hoare triple {26425#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26421#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} is VALID [2022-04-28 09:02:01,649 INFO L290 TraceCheckUtils]: 48: Hoare triple {26429#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {26425#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:02:01,650 INFO L290 TraceCheckUtils]: 47: Hoare triple {26433#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {26429#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:01,651 INFO L290 TraceCheckUtils]: 46: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26433#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:01,651 INFO L290 TraceCheckUtils]: 45: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:02:01,652 INFO L290 TraceCheckUtils]: 44: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:02:01,653 INFO L290 TraceCheckUtils]: 43: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:02:01,653 INFO L290 TraceCheckUtils]: 42: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:02:01,654 INFO L290 TraceCheckUtils]: 41: Hoare triple {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:02:01,654 INFO L290 TraceCheckUtils]: 40: Hoare triple {26456#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26437#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:02:01,655 INFO L290 TraceCheckUtils]: 39: Hoare triple {26456#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26456#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:02:01,657 INFO L290 TraceCheckUtils]: 38: Hoare triple {26463#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {26456#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:02:01,658 INFO L290 TraceCheckUtils]: 37: Hoare triple {26467#(or (forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {26463#(forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:02:01,660 INFO L290 TraceCheckUtils]: 36: Hoare triple {26471#(or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {26467#(or (forall ((v_ArrVal_1121 Int) (v_ArrVal_1123 Int)) (or (< v_ArrVal_1121 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1123) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1121) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 35: Hoare triple {25908#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {26471#(or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 34: Hoare triple {25908#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 33: Hoare triple {25908#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 32: Hoare triple {25908#true} assume !(~i~0 < ~n~0); {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 31: Hoare triple {25908#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 30: Hoare triple {25908#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 29: Hoare triple {25908#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 28: Hoare triple {25908#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 27: Hoare triple {25908#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 26: Hoare triple {25908#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {25908#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 24: Hoare triple {25908#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 23: Hoare triple {25908#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25908#true} is VALID [2022-04-28 09:02:01,661 INFO L290 TraceCheckUtils]: 22: Hoare triple {25908#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 21: Hoare triple {25908#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 20: Hoare triple {25908#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 19: Hoare triple {25908#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 18: Hoare triple {25908#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L272 TraceCheckUtils]: 17: Hoare triple {25908#true} call SelectionSort(); {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 16: Hoare triple {25908#true} assume !(~i~1 >= 0); {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 15: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 14: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 13: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 12: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 10: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-28 09:02:01,662 INFO L290 TraceCheckUtils]: 8: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-28 09:02:01,663 INFO L290 TraceCheckUtils]: 7: Hoare triple {25908#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {25908#true} is VALID [2022-04-28 09:02:01,663 INFO L290 TraceCheckUtils]: 6: Hoare triple {25908#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {25908#true} is VALID [2022-04-28 09:02:01,663 INFO L290 TraceCheckUtils]: 5: Hoare triple {25908#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {25908#true} is VALID [2022-04-28 09:02:01,663 INFO L272 TraceCheckUtils]: 4: Hoare triple {25908#true} call #t~ret10 := main(); {25908#true} is VALID [2022-04-28 09:02:01,663 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25908#true} #95#return; {25908#true} is VALID [2022-04-28 09:02:01,663 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-28 09:02:01,663 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {25908#true} is VALID [2022-04-28 09:02:01,663 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25908#true} is VALID [2022-04-28 09:02:01,663 INFO L134 CoverageAnalysis]: Checked inductivity of 271 backedges. 170 proven. 16 refuted. 0 times theorem prover too weak. 85 trivial. 0 not checked. [2022-04-28 09:02:01,664 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1429867623] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:02:01,664 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:02:01,664 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 15, 11] total 43 [2022-04-28 09:02:01,664 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:02:01,664 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1583569896] [2022-04-28 09:02:01,664 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1583569896] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:02:01,664 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:02:01,664 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 09:02:01,664 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1710770858] [2022-04-28 09:02:01,664 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:02:01,665 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 94 [2022-04-28 09:02:01,665 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:02:01,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 09:02:01,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:02:01,709 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 09:02:01,709 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:02:01,710 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 09:02:01,710 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=1684, Unknown=2, NotChecked=0, Total=1806 [2022-04-28 09:02:01,710 INFO L87 Difference]: Start difference. First operand 465 states and 642 transitions. Second operand has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 09:02:07,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:02:07,987 INFO L93 Difference]: Finished difference Result 490 states and 670 transitions. [2022-04-28 09:02:07,987 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 09:02:07,988 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Word has length 94 [2022-04-28 09:02:07,988 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:02:07,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 09:02:07,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 85 transitions. [2022-04-28 09:02:07,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 09:02:07,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 85 transitions. [2022-04-28 09:02:07,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 85 transitions. [2022-04-28 09:02:08,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:02:08,104 INFO L225 Difference]: With dead ends: 490 [2022-04-28 09:02:08,104 INFO L226 Difference]: Without dead ends: 488 [2022-04-28 09:02:08,105 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 240 GetRequests, 178 SyntacticMatches, 1 SemanticMatches, 61 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 817 ImplicationChecksByTransitivity, 4.5s TimeCoverageRelationStatistics Valid=308, Invalid=3596, Unknown=2, NotChecked=0, Total=3906 [2022-04-28 09:02:08,105 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 122 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 849 mSolverCounterSat, 120 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 122 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 969 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 120 IncrementalHoareTripleChecker+Valid, 849 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-28 09:02:08,105 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [122 Valid, 49 Invalid, 969 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [120 Valid, 849 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-28 09:02:08,106 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 488 states. [2022-04-28 09:02:11,554 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 488 to 473. [2022-04-28 09:02:11,554 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:02:11,554 INFO L82 GeneralOperation]: Start isEquivalent. First operand 488 states. Second operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 09:02:11,555 INFO L74 IsIncluded]: Start isIncluded. First operand 488 states. Second operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 09:02:11,555 INFO L87 Difference]: Start difference. First operand 488 states. Second operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 09:02:11,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:02:11,563 INFO L93 Difference]: Finished difference Result 488 states and 668 transitions. [2022-04-28 09:02:11,563 INFO L276 IsEmpty]: Start isEmpty. Operand 488 states and 668 transitions. [2022-04-28 09:02:11,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:02:11,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:02:11,564 INFO L74 IsIncluded]: Start isIncluded. First operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 488 states. [2022-04-28 09:02:11,564 INFO L87 Difference]: Start difference. First operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 488 states. [2022-04-28 09:02:11,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:02:11,572 INFO L93 Difference]: Finished difference Result 488 states and 668 transitions. [2022-04-28 09:02:11,572 INFO L276 IsEmpty]: Start isEmpty. Operand 488 states and 668 transitions. [2022-04-28 09:02:11,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:02:11,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:02:11,572 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:02:11,572 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:02:11,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 473 states, 459 states have (on average 1.3877995642701526) internal successors, (637), 460 states have internal predecessors, (637), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 09:02:11,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 473 states to 473 states and 650 transitions. [2022-04-28 09:02:11,582 INFO L78 Accepts]: Start accepts. Automaton has 473 states and 650 transitions. Word has length 94 [2022-04-28 09:02:11,582 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:02:11,582 INFO L495 AbstractCegarLoop]: Abstraction has 473 states and 650 transitions. [2022-04-28 09:02:11,582 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 20 states have (on average 2.3) internal successors, (46), 18 states have internal predecessors, (46), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 09:02:11,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 473 states and 650 transitions. [2022-04-28 09:02:13,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 650 edges. 650 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:02:13,618 INFO L276 IsEmpty]: Start isEmpty. Operand 473 states and 650 transitions. [2022-04-28 09:02:13,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-28 09:02:13,619 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:02:13,619 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 8, 5, 5, 5, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:02:13,636 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Ended with exit code 0 [2022-04-28 09:02:13,827 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-28 09:02:13,827 INFO L420 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:02:13,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:02:13,828 INFO L85 PathProgramCache]: Analyzing trace with hash 1315817034, now seen corresponding path program 5 times [2022-04-28 09:02:13,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:02:13,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [773973760] [2022-04-28 09:02:13,830 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:02:13,830 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:02:13,830 INFO L85 PathProgramCache]: Analyzing trace with hash 1315817034, now seen corresponding path program 6 times [2022-04-28 09:02:13,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:02:13,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1324104499] [2022-04-28 09:02:13,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:02:13,830 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:02:13,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:13,899 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:02:13,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:13,906 INFO L290 TraceCheckUtils]: 0: Hoare triple {29594#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:13,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:13,906 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {29522#true} #95#return; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:13,909 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:02:13,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:14,315 INFO L290 TraceCheckUtils]: 0: Hoare triple {29595#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {29522#true} is VALID [2022-04-28 09:02:14,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:02:14,316 INFO L290 TraceCheckUtils]: 2: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:02:14,317 INFO L290 TraceCheckUtils]: 3: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:02:14,317 INFO L290 TraceCheckUtils]: 4: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:02:14,318 INFO L290 TraceCheckUtils]: 5: Hoare triple {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:02:14,318 INFO L290 TraceCheckUtils]: 6: Hoare triple {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29598#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:14,319 INFO L290 TraceCheckUtils]: 7: Hoare triple {29598#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29599#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:02:14,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {29599#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29600#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:02:14,320 INFO L290 TraceCheckUtils]: 9: Hoare triple {29600#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29601#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:02:14,320 INFO L290 TraceCheckUtils]: 10: Hoare triple {29601#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-28 09:02:14,320 INFO L290 TraceCheckUtils]: 11: Hoare triple {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-28 09:02:14,321 INFO L290 TraceCheckUtils]: 12: Hoare triple {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,321 INFO L290 TraceCheckUtils]: 13: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,321 INFO L290 TraceCheckUtils]: 14: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(~i~0 < ~n~0); {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,321 INFO L290 TraceCheckUtils]: 15: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29522#true} is VALID [2022-04-28 09:02:14,321 INFO L290 TraceCheckUtils]: 16: Hoare triple {29522#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29522#true} is VALID [2022-04-28 09:02:14,322 INFO L290 TraceCheckUtils]: 17: Hoare triple {29522#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29604#(and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:14,322 INFO L290 TraceCheckUtils]: 18: Hoare triple {29604#(and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29605#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:02:14,323 INFO L290 TraceCheckUtils]: 19: Hoare triple {29605#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29606#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:14,324 INFO L290 TraceCheckUtils]: 20: Hoare triple {29606#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:14,324 INFO L290 TraceCheckUtils]: 21: Hoare triple {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:14,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,325 INFO L290 TraceCheckUtils]: 23: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,326 INFO L290 TraceCheckUtils]: 24: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,326 INFO L290 TraceCheckUtils]: 25: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,326 INFO L290 TraceCheckUtils]: 26: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,327 INFO L290 TraceCheckUtils]: 27: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(~i~0 < ~n~0); {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,328 INFO L290 TraceCheckUtils]: 28: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29609#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,328 INFO L290 TraceCheckUtils]: 29: Hoare triple {29609#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29610#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,329 INFO L290 TraceCheckUtils]: 30: Hoare triple {29610#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29611#(and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,330 INFO L290 TraceCheckUtils]: 31: Hoare triple {29611#(and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29612#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) |SelectionSort_#t~mem3|) (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))} is VALID [2022-04-28 09:02:14,330 INFO L290 TraceCheckUtils]: 32: Hoare triple {29612#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) |SelectionSort_#t~mem3|) (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29523#false} is VALID [2022-04-28 09:02:14,330 INFO L290 TraceCheckUtils]: 33: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-28 09:02:14,330 INFO L290 TraceCheckUtils]: 34: Hoare triple {29523#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 35: Hoare triple {29523#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 36: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 37: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 38: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 39: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 40: Hoare triple {29523#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 41: Hoare triple {29523#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 42: Hoare triple {29523#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 43: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 44: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 45: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-28 09:02:14,331 INFO L290 TraceCheckUtils]: 46: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-28 09:02:14,332 INFO L290 TraceCheckUtils]: 47: Hoare triple {29523#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29523#false} is VALID [2022-04-28 09:02:14,332 INFO L290 TraceCheckUtils]: 48: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-28 09:02:14,332 INFO L290 TraceCheckUtils]: 49: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-28 09:02:14,332 INFO L290 TraceCheckUtils]: 50: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-28 09:02:14,332 INFO L290 TraceCheckUtils]: 51: Hoare triple {29523#false} assume !(~lh~0 < ~n~0); {29523#false} is VALID [2022-04-28 09:02:14,332 INFO L290 TraceCheckUtils]: 52: Hoare triple {29523#false} assume true; {29523#false} is VALID [2022-04-28 09:02:14,332 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {29523#false} {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {29523#false} is VALID [2022-04-28 09:02:14,332 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:02:14,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:14,335 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-28 09:02:14,335 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-28 09:02:14,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-28 09:02:14,335 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-28 09:02:14,335 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:02:14,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:14,337 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-28 09:02:14,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-28 09:02:14,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-28 09:02:14,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-28 09:02:14,337 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:02:14,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:14,339 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-28 09:02:14,339 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-28 09:02:14,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-28 09:02:14,339 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-28 09:02:14,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {29522#true} call ULTIMATE.init(); {29594#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:02:14,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {29594#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,342 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {29522#true} #95#return; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,342 INFO L272 TraceCheckUtils]: 4: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,342 INFO L290 TraceCheckUtils]: 5: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,343 INFO L290 TraceCheckUtils]: 6: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,343 INFO L290 TraceCheckUtils]: 7: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,345 INFO L290 TraceCheckUtils]: 10: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,345 INFO L290 TraceCheckUtils]: 11: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,345 INFO L290 TraceCheckUtils]: 12: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,346 INFO L290 TraceCheckUtils]: 13: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,346 INFO L290 TraceCheckUtils]: 14: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,346 INFO L290 TraceCheckUtils]: 15: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,347 INFO L290 TraceCheckUtils]: 16: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:14,347 INFO L272 TraceCheckUtils]: 17: Hoare triple {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {29595#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:14,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {29595#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {29522#true} is VALID [2022-04-28 09:02:14,348 INFO L290 TraceCheckUtils]: 19: Hoare triple {29522#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:02:14,348 INFO L290 TraceCheckUtils]: 20: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:02:14,349 INFO L290 TraceCheckUtils]: 21: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:02:14,349 INFO L290 TraceCheckUtils]: 22: Hoare triple {29596#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:02:14,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:02:14,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {29597#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29598#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:14,351 INFO L290 TraceCheckUtils]: 25: Hoare triple {29598#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29599#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:02:14,351 INFO L290 TraceCheckUtils]: 26: Hoare triple {29599#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29600#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:02:14,352 INFO L290 TraceCheckUtils]: 27: Hoare triple {29600#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29601#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:02:14,352 INFO L290 TraceCheckUtils]: 28: Hoare triple {29601#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-28 09:02:14,352 INFO L290 TraceCheckUtils]: 29: Hoare triple {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} is VALID [2022-04-28 09:02:14,353 INFO L290 TraceCheckUtils]: 30: Hoare triple {29602#(<= (+ SelectionSort_~lh~0 4) SelectionSort_~i~0)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,353 INFO L290 TraceCheckUtils]: 32: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(~i~0 < ~n~0); {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,354 INFO L290 TraceCheckUtils]: 33: Hoare triple {29603#(not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29522#true} is VALID [2022-04-28 09:02:14,354 INFO L290 TraceCheckUtils]: 34: Hoare triple {29522#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29522#true} is VALID [2022-04-28 09:02:14,354 INFO L290 TraceCheckUtils]: 35: Hoare triple {29522#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29604#(and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:14,355 INFO L290 TraceCheckUtils]: 36: Hoare triple {29604#(and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29605#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:02:14,355 INFO L290 TraceCheckUtils]: 37: Hoare triple {29605#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29606#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:14,356 INFO L290 TraceCheckUtils]: 38: Hoare triple {29606#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:14,357 INFO L290 TraceCheckUtils]: 39: Hoare triple {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:02:14,357 INFO L290 TraceCheckUtils]: 40: Hoare triple {29607#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,357 INFO L290 TraceCheckUtils]: 41: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,358 INFO L290 TraceCheckUtils]: 42: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,358 INFO L290 TraceCheckUtils]: 43: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,359 INFO L290 TraceCheckUtils]: 44: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,359 INFO L290 TraceCheckUtils]: 45: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} assume !(~i~0 < ~n~0); {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,360 INFO L290 TraceCheckUtils]: 46: Hoare triple {29608#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29609#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,361 INFO L290 TraceCheckUtils]: 47: Hoare triple {29609#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29610#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,362 INFO L290 TraceCheckUtils]: 48: Hoare triple {29610#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29611#(and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:02:14,363 INFO L290 TraceCheckUtils]: 49: Hoare triple {29611#(and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29612#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) |SelectionSort_#t~mem3|) (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))} is VALID [2022-04-28 09:02:14,363 INFO L290 TraceCheckUtils]: 50: Hoare triple {29612#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) |SelectionSort_#t~mem3|) (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29523#false} is VALID [2022-04-28 09:02:14,363 INFO L290 TraceCheckUtils]: 51: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-28 09:02:14,363 INFO L290 TraceCheckUtils]: 52: Hoare triple {29523#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-28 09:02:14,363 INFO L290 TraceCheckUtils]: 53: Hoare triple {29523#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29523#false} is VALID [2022-04-28 09:02:14,363 INFO L290 TraceCheckUtils]: 54: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 55: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 56: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 57: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 58: Hoare triple {29523#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 59: Hoare triple {29523#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 60: Hoare triple {29523#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 61: Hoare triple {29523#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 62: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 63: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 64: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 65: Hoare triple {29523#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 66: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 67: Hoare triple {29523#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 68: Hoare triple {29523#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29523#false} is VALID [2022-04-28 09:02:14,364 INFO L290 TraceCheckUtils]: 69: Hoare triple {29523#false} assume !(~lh~0 < ~n~0); {29523#false} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 70: Hoare triple {29523#false} assume true; {29523#false} is VALID [2022-04-28 09:02:14,365 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29523#false} {29527#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {29523#false} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 72: Hoare triple {29523#false} ~i~1 := 0; {29523#false} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 73: Hoare triple {29523#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29523#false} is VALID [2022-04-28 09:02:14,365 INFO L272 TraceCheckUtils]: 74: Hoare triple {29523#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29522#true} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 75: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 76: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 77: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-28 09:02:14,365 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 79: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 80: Hoare triple {29523#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29523#false} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 81: Hoare triple {29523#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29523#false} is VALID [2022-04-28 09:02:14,365 INFO L272 TraceCheckUtils]: 82: Hoare triple {29523#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29522#true} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 83: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-28 09:02:14,365 INFO L290 TraceCheckUtils]: 84: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-28 09:02:14,366 INFO L290 TraceCheckUtils]: 85: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-28 09:02:14,366 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-28 09:02:14,366 INFO L290 TraceCheckUtils]: 87: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-28 09:02:14,366 INFO L290 TraceCheckUtils]: 88: Hoare triple {29523#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29523#false} is VALID [2022-04-28 09:02:14,366 INFO L290 TraceCheckUtils]: 89: Hoare triple {29523#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29523#false} is VALID [2022-04-28 09:02:14,366 INFO L272 TraceCheckUtils]: 90: Hoare triple {29523#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29522#true} is VALID [2022-04-28 09:02:14,366 INFO L290 TraceCheckUtils]: 91: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-28 09:02:14,366 INFO L290 TraceCheckUtils]: 92: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-28 09:02:14,366 INFO L290 TraceCheckUtils]: 93: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-28 09:02:14,366 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-28 09:02:14,366 INFO L290 TraceCheckUtils]: 95: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-28 09:02:14,366 INFO L290 TraceCheckUtils]: 96: Hoare triple {29523#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29523#false} is VALID [2022-04-28 09:02:14,366 INFO L290 TraceCheckUtils]: 97: Hoare triple {29523#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29523#false} is VALID [2022-04-28 09:02:14,366 INFO L272 TraceCheckUtils]: 98: Hoare triple {29523#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29523#false} is VALID [2022-04-28 09:02:14,367 INFO L290 TraceCheckUtils]: 99: Hoare triple {29523#false} ~cond := #in~cond; {29523#false} is VALID [2022-04-28 09:02:14,367 INFO L290 TraceCheckUtils]: 100: Hoare triple {29523#false} assume 0 == ~cond; {29523#false} is VALID [2022-04-28 09:02:14,367 INFO L290 TraceCheckUtils]: 101: Hoare triple {29523#false} assume !false; {29523#false} is VALID [2022-04-28 09:02:14,367 INFO L134 CoverageAnalysis]: Checked inductivity of 291 backedges. 127 proven. 83 refuted. 0 times theorem prover too weak. 81 trivial. 0 not checked. [2022-04-28 09:02:14,367 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:02:14,367 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1324104499] [2022-04-28 09:02:14,367 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1324104499] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:02:14,367 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1903519202] [2022-04-28 09:02:14,367 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 09:02:14,368 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:02:14,368 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:02:14,371 INFO L229 MonitoredProcess]: Starting monitored process 27 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:02:14,372 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Waiting until timeout for monitored process [2022-04-28 09:02:14,686 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-28 09:02:14,686 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:02:14,689 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-28 09:02:14,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:14,709 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:02:14,771 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 09:02:14,772 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-28 09:02:14,837 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-28 09:02:14,948 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:02:14,949 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:02:15,009 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-28 09:02:15,009 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 30 [2022-04-28 09:02:15,118 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-28 09:02:15,119 INFO L390 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 1 case distinctions, treesize of input 29 treesize of output 34 [2022-04-28 09:02:15,713 INFO L390 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 16 treesize of output 18 [2022-04-28 09:02:16,763 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-28 09:02:16,764 INFO L390 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 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-28 09:02:16,855 INFO L272 TraceCheckUtils]: 0: Hoare triple {29522#true} call ULTIMATE.init(); {29522#true} is VALID [2022-04-28 09:02:16,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:02:16,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:02:16,856 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {29522#true} #95#return; {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:02:16,857 INFO L272 TraceCheckUtils]: 4: Hoare triple {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:02:16,857 INFO L290 TraceCheckUtils]: 5: Hoare triple {29619#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {29632#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,857 INFO L290 TraceCheckUtils]: 6: Hoare triple {29632#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29632#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,858 INFO L290 TraceCheckUtils]: 7: Hoare triple {29632#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29639#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,858 INFO L290 TraceCheckUtils]: 8: Hoare triple {29639#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29643#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:02:16,859 INFO L290 TraceCheckUtils]: 9: Hoare triple {29643#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29647#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,859 INFO L290 TraceCheckUtils]: 10: Hoare triple {29647#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,860 INFO L290 TraceCheckUtils]: 11: Hoare triple {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,860 INFO L290 TraceCheckUtils]: 12: Hoare triple {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29658#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (= (* main_~i~1 4) 12)))} is VALID [2022-04-28 09:02:16,861 INFO L290 TraceCheckUtils]: 13: Hoare triple {29658#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (= (* main_~i~1 4) 12)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29662#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (<= 2 main_~i~1)))} is VALID [2022-04-28 09:02:16,861 INFO L290 TraceCheckUtils]: 14: Hoare triple {29662#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (<= 2 main_~i~1)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29662#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (<= 2 main_~i~1)))} is VALID [2022-04-28 09:02:16,862 INFO L290 TraceCheckUtils]: 15: Hoare triple {29662#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (<= 2 main_~i~1)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {29669#(and (= 3 |~#array~0.base|) (or (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3)) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,862 INFO L290 TraceCheckUtils]: 16: Hoare triple {29669#(and (= 3 |~#array~0.base|) (or (<= 1 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3)) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,863 INFO L272 TraceCheckUtils]: 17: Hoare triple {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,863 INFO L290 TraceCheckUtils]: 18: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,863 INFO L290 TraceCheckUtils]: 19: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,864 INFO L290 TraceCheckUtils]: 20: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,864 INFO L290 TraceCheckUtils]: 21: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,865 INFO L290 TraceCheckUtils]: 22: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,865 INFO L290 TraceCheckUtils]: 23: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,865 INFO L290 TraceCheckUtils]: 24: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,866 INFO L290 TraceCheckUtils]: 25: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,866 INFO L290 TraceCheckUtils]: 26: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,866 INFO L290 TraceCheckUtils]: 27: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,868 INFO L290 TraceCheckUtils]: 28: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,868 INFO L290 TraceCheckUtils]: 29: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,869 INFO L290 TraceCheckUtils]: 30: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,869 INFO L290 TraceCheckUtils]: 31: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,870 INFO L290 TraceCheckUtils]: 32: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:16,871 INFO L290 TraceCheckUtils]: 33: Hoare triple {29676#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,871 INFO L290 TraceCheckUtils]: 34: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,872 INFO L290 TraceCheckUtils]: 35: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,873 INFO L290 TraceCheckUtils]: 36: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,873 INFO L290 TraceCheckUtils]: 37: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,874 INFO L290 TraceCheckUtils]: 38: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,874 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,875 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,875 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,876 INFO L290 TraceCheckUtils]: 42: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,876 INFO L290 TraceCheckUtils]: 43: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,877 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,877 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(~i~0 < ~n~0); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,879 WARN L290 TraceCheckUtils]: 46: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is UNKNOWN [2022-04-28 09:02:16,879 INFO L290 TraceCheckUtils]: 47: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,880 INFO L290 TraceCheckUtils]: 48: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,880 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,881 INFO L290 TraceCheckUtils]: 50: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,881 INFO L290 TraceCheckUtils]: 51: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,882 INFO L290 TraceCheckUtils]: 52: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,882 INFO L290 TraceCheckUtils]: 53: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,883 INFO L290 TraceCheckUtils]: 54: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,883 INFO L290 TraceCheckUtils]: 55: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(~i~0 < ~n~0); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,884 WARN L290 TraceCheckUtils]: 56: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is UNKNOWN [2022-04-28 09:02:16,885 INFO L290 TraceCheckUtils]: 57: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,885 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,886 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,886 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,887 INFO L290 TraceCheckUtils]: 61: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,887 INFO L290 TraceCheckUtils]: 62: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(~i~0 < ~n~0); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,889 WARN L290 TraceCheckUtils]: 63: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is UNKNOWN [2022-04-28 09:02:16,889 INFO L290 TraceCheckUtils]: 64: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,890 INFO L290 TraceCheckUtils]: 65: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,890 INFO L290 TraceCheckUtils]: 66: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(~i~0 < ~n~0); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,891 WARN L290 TraceCheckUtils]: 67: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is UNKNOWN [2022-04-28 09:02:16,892 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,892 INFO L290 TraceCheckUtils]: 69: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume !(~lh~0 < ~n~0); {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,893 INFO L290 TraceCheckUtils]: 70: Hoare triple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} assume true; {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} is VALID [2022-04-28 09:02:16,894 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29725#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1204 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1204))))} {29651#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #91#return; {29840#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,894 INFO L290 TraceCheckUtils]: 72: Hoare triple {29840#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:02:16,894 INFO L290 TraceCheckUtils]: 73: Hoare triple {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:02:16,895 INFO L272 TraceCheckUtils]: 74: Hoare triple {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,896 INFO L290 TraceCheckUtils]: 75: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} ~cond := #in~cond; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,896 INFO L290 TraceCheckUtils]: 76: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume !(0 == ~cond); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,897 INFO L290 TraceCheckUtils]: 77: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume true; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,897 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:02:16,898 INFO L290 TraceCheckUtils]: 79: Hoare triple {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:02:16,898 INFO L290 TraceCheckUtils]: 80: Hoare triple {29844#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:02:16,898 INFO L290 TraceCheckUtils]: 81: Hoare triple {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:02:16,899 INFO L272 TraceCheckUtils]: 82: Hoare triple {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,900 INFO L290 TraceCheckUtils]: 83: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} ~cond := #in~cond; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,900 INFO L290 TraceCheckUtils]: 84: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume !(0 == ~cond); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,901 INFO L290 TraceCheckUtils]: 85: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume true; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,901 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #93#return; {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:02:16,901 INFO L290 TraceCheckUtils]: 87: Hoare triple {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} havoc #t~mem9; {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:02:16,902 INFO L290 TraceCheckUtils]: 88: Hoare triple {29870#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,902 INFO L290 TraceCheckUtils]: 89: Hoare triple {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,903 INFO L272 TraceCheckUtils]: 90: Hoare triple {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,903 INFO L290 TraceCheckUtils]: 91: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} ~cond := #in~cond; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,904 INFO L290 TraceCheckUtils]: 92: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume !(0 == ~cond); {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,904 INFO L290 TraceCheckUtils]: 93: Hoare triple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} assume true; {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} is VALID [2022-04-28 09:02:16,905 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29851#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_13| Int) (|v_main_~#array~1.base_BEFORE_CALL_13| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_13|)) (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_13|) (+ |v_main_~#array~1.offset_BEFORE_CALL_13| 12)))))} {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #93#return; {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,905 INFO L290 TraceCheckUtils]: 95: Hoare triple {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} havoc #t~mem9; {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:16,906 INFO L290 TraceCheckUtils]: 96: Hoare triple {29895#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {29920#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-28 09:02:16,906 INFO L290 TraceCheckUtils]: 97: Hoare triple {29920#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {29924#(and (= 3 |main_#t~mem9|) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-28 09:02:16,907 INFO L272 TraceCheckUtils]: 98: Hoare triple {29924#(and (= 3 |main_#t~mem9|) (= (+ main_~i~1 (- 3)) 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {29928#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:02:16,907 INFO L290 TraceCheckUtils]: 99: Hoare triple {29928#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29932#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:02:16,907 INFO L290 TraceCheckUtils]: 100: Hoare triple {29932#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29523#false} is VALID [2022-04-28 09:02:16,907 INFO L290 TraceCheckUtils]: 101: Hoare triple {29523#false} assume !false; {29523#false} is VALID [2022-04-28 09:02:16,908 INFO L134 CoverageAnalysis]: Checked inductivity of 291 backedges. 0 proven. 156 refuted. 0 times theorem prover too weak. 135 trivial. 0 not checked. [2022-04-28 09:02:16,908 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:02:17,244 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1215 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1215) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 12)) 3)) is different from false [2022-04-28 09:02:17,245 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1903519202] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:02:17,245 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:02:17,245 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-28 09:02:17,246 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:02:17,246 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [773973760] [2022-04-28 09:02:17,246 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [773973760] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:02:17,246 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:02:17,246 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 09:02:17,246 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2034452155] [2022-04-28 09:02:17,246 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:02:17,246 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 102 [2022-04-28 09:02:17,246 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:02:17,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:02:17,290 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:02:17,291 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 09:02:17,291 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:02:17,291 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 09:02:17,291 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2090, Unknown=11, NotChecked=92, Total=2352 [2022-04-28 09:02:17,291 INFO L87 Difference]: Start difference. First operand 473 states and 650 transitions. Second operand has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:02:30,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:02:30,517 INFO L93 Difference]: Finished difference Result 1370 states and 1890 transitions. [2022-04-28 09:02:30,517 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 54 states. [2022-04-28 09:02:30,517 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 102 [2022-04-28 09:02:30,517 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:02:30,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:02:30,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 217 transitions. [2022-04-28 09:02:30,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:02:30,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 217 transitions. [2022-04-28 09:02:30,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 217 transitions. [2022-04-28 09:02:30,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:02:30,778 INFO L225 Difference]: With dead ends: 1370 [2022-04-28 09:02:30,778 INFO L226 Difference]: Without dead ends: 1021 [2022-04-28 09:02:30,779 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 231 GetRequests, 122 SyntacticMatches, 11 SemanticMatches, 98 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 2371 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=725, Invalid=8968, Unknown=13, NotChecked=194, Total=9900 [2022-04-28 09:02:30,779 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 278 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 1172 mSolverCounterSat, 244 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 278 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 1416 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 244 IncrementalHoareTripleChecker+Valid, 1172 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-28 09:02:30,779 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [278 Valid, 45 Invalid, 1416 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [244 Valid, 1172 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-28 09:02:30,780 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1021 states. [2022-04-28 09:02:35,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1021 to 610. [2022-04-28 09:02:35,669 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:02:35,683 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1021 states. Second operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 09:02:35,684 INFO L74 IsIncluded]: Start isIncluded. First operand 1021 states. Second operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 09:02:35,684 INFO L87 Difference]: Start difference. First operand 1021 states. Second operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 09:02:35,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:02:35,711 INFO L93 Difference]: Finished difference Result 1021 states and 1386 transitions. [2022-04-28 09:02:35,711 INFO L276 IsEmpty]: Start isEmpty. Operand 1021 states and 1386 transitions. [2022-04-28 09:02:35,712 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:02:35,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:02:35,713 INFO L74 IsIncluded]: Start isIncluded. First operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 1021 states. [2022-04-28 09:02:35,713 INFO L87 Difference]: Start difference. First operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 1021 states. [2022-04-28 09:02:35,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:02:35,740 INFO L93 Difference]: Finished difference Result 1021 states and 1386 transitions. [2022-04-28 09:02:35,740 INFO L276 IsEmpty]: Start isEmpty. Operand 1021 states and 1386 transitions. [2022-04-28 09:02:35,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:02:35,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:02:35,741 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:02:35,741 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:02:35,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 610 states, 596 states have (on average 1.3708053691275168) internal successors, (817), 597 states have internal predecessors, (817), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 09:02:35,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 610 states to 610 states and 830 transitions. [2022-04-28 09:02:35,756 INFO L78 Accepts]: Start accepts. Automaton has 610 states and 830 transitions. Word has length 102 [2022-04-28 09:02:35,756 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:02:35,756 INFO L495 AbstractCegarLoop]: Abstraction has 610 states and 830 transitions. [2022-04-28 09:02:35,756 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 2.6363636363636362) internal successors, (58), 20 states have internal predecessors, (58), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:02:35,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 610 states and 830 transitions. [2022-04-28 09:02:38,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 830 edges. 830 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:02:38,685 INFO L276 IsEmpty]: Start isEmpty. Operand 610 states and 830 transitions. [2022-04-28 09:02:38,685 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-28 09:02:38,686 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:02:38,686 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 8, 5, 5, 5, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:02:38,702 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (27)] Ended with exit code 0 [2022-04-28 09:02:38,886 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 27 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-04-28 09:02:38,886 INFO L420 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:02:38,886 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:02:38,887 INFO L85 PathProgramCache]: Analyzing trace with hash -1425291514, now seen corresponding path program 7 times [2022-04-28 09:02:38,887 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:02:38,887 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [335481399] [2022-04-28 09:02:38,888 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:02:38,888 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:02:38,889 INFO L85 PathProgramCache]: Analyzing trace with hash -1425291514, now seen corresponding path program 8 times [2022-04-28 09:02:38,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:02:38,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [331611595] [2022-04-28 09:02:38,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:02:38,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:02:38,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:39,473 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:02:39,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:39,498 INFO L290 TraceCheckUtils]: 0: Hoare triple {36241#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,499 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {36154#true} #95#return; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,509 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:02:39,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:39,552 INFO L290 TraceCheckUtils]: 0: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,554 INFO L290 TraceCheckUtils]: 3: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,555 INFO L290 TraceCheckUtils]: 4: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,555 INFO L290 TraceCheckUtils]: 5: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,555 INFO L290 TraceCheckUtils]: 6: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,556 INFO L290 TraceCheckUtils]: 7: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,556 INFO L290 TraceCheckUtils]: 8: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,557 INFO L290 TraceCheckUtils]: 10: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,557 INFO L290 TraceCheckUtils]: 11: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,558 INFO L290 TraceCheckUtils]: 12: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,558 INFO L290 TraceCheckUtils]: 13: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,558 INFO L290 TraceCheckUtils]: 14: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,559 INFO L290 TraceCheckUtils]: 15: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,559 INFO L290 TraceCheckUtils]: 16: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,559 INFO L290 TraceCheckUtils]: 17: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,560 INFO L290 TraceCheckUtils]: 18: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,560 INFO L290 TraceCheckUtils]: 19: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,560 INFO L290 TraceCheckUtils]: 20: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,561 INFO L290 TraceCheckUtils]: 21: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,561 INFO L290 TraceCheckUtils]: 22: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,561 INFO L290 TraceCheckUtils]: 23: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,561 INFO L290 TraceCheckUtils]: 24: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,562 INFO L290 TraceCheckUtils]: 25: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,562 INFO L290 TraceCheckUtils]: 26: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,562 INFO L290 TraceCheckUtils]: 27: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,563 INFO L290 TraceCheckUtils]: 28: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,563 INFO L290 TraceCheckUtils]: 29: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,563 INFO L290 TraceCheckUtils]: 30: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,564 INFO L290 TraceCheckUtils]: 31: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,564 INFO L290 TraceCheckUtils]: 32: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,564 INFO L290 TraceCheckUtils]: 33: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,565 INFO L290 TraceCheckUtils]: 34: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,565 INFO L290 TraceCheckUtils]: 35: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,565 INFO L290 TraceCheckUtils]: 36: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,565 INFO L290 TraceCheckUtils]: 37: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,566 INFO L290 TraceCheckUtils]: 38: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,566 INFO L290 TraceCheckUtils]: 39: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,567 INFO L290 TraceCheckUtils]: 40: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,567 INFO L290 TraceCheckUtils]: 41: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,567 INFO L290 TraceCheckUtils]: 42: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,567 INFO L290 TraceCheckUtils]: 43: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,568 INFO L290 TraceCheckUtils]: 44: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,568 INFO L290 TraceCheckUtils]: 45: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,569 INFO L290 TraceCheckUtils]: 46: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,569 INFO L290 TraceCheckUtils]: 47: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,569 INFO L290 TraceCheckUtils]: 48: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,570 INFO L290 TraceCheckUtils]: 49: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,570 INFO L290 TraceCheckUtils]: 50: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,570 INFO L290 TraceCheckUtils]: 51: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,570 INFO L290 TraceCheckUtils]: 52: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,571 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} #91#return; {36221#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,572 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:02:39,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:39,574 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-28 09:02:39,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-28 09:02:39,574 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-28 09:02:39,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36154#true} {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} #93#return; {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} is VALID [2022-04-28 09:02:39,575 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:02:39,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:39,577 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-28 09:02:39,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-28 09:02:39,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-28 09:02:39,578 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36154#true} {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #93#return; {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:02:39,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:39,581 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-28 09:02:39,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-28 09:02:39,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-28 09:02:39,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36154#true} {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #93#return; {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,582 INFO L272 TraceCheckUtils]: 0: Hoare triple {36154#true} call ULTIMATE.init(); {36241#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:02:39,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {36241#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,583 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {36154#true} #95#return; {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,584 INFO L272 TraceCheckUtils]: 4: Hoare triple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,584 INFO L290 TraceCheckUtils]: 5: Hoare triple {36159#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {36160#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-28 09:02:39,585 INFO L290 TraceCheckUtils]: 6: Hoare triple {36160#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36160#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-28 09:02:39,585 INFO L290 TraceCheckUtils]: 7: Hoare triple {36160#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36161#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {36161#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36162#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) 3) (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {36162#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) 3) (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36163#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,587 INFO L290 TraceCheckUtils]: 10: Hoare triple {36163#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36163#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,588 INFO L290 TraceCheckUtils]: 11: Hoare triple {36163#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36164#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,588 INFO L290 TraceCheckUtils]: 12: Hoare triple {36164#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36164#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,589 INFO L290 TraceCheckUtils]: 13: Hoare triple {36164#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36165#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (or (and (not (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3)) (and (<= main_~i~1 0) (not (= 0 (+ (* main_~i~1 4) |main_~#array~1.offset|))))) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,590 INFO L290 TraceCheckUtils]: 14: Hoare triple {36165#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (or (and (not (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|))) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3)) (and (<= main_~i~1 0) (not (= 0 (+ (* main_~i~1 4) |main_~#array~1.offset|))))) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,590 INFO L290 TraceCheckUtils]: 15: Hoare triple {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,590 INFO L290 TraceCheckUtils]: 16: Hoare triple {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:39,591 INFO L272 TraceCheckUtils]: 17: Hoare triple {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} call SelectionSort(); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,591 INFO L290 TraceCheckUtils]: 18: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,591 INFO L290 TraceCheckUtils]: 19: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,592 INFO L290 TraceCheckUtils]: 20: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,592 INFO L290 TraceCheckUtils]: 21: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,592 INFO L290 TraceCheckUtils]: 22: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,593 INFO L290 TraceCheckUtils]: 23: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,593 INFO L290 TraceCheckUtils]: 24: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,593 INFO L290 TraceCheckUtils]: 25: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,594 INFO L290 TraceCheckUtils]: 26: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,594 INFO L290 TraceCheckUtils]: 27: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,594 INFO L290 TraceCheckUtils]: 28: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,595 INFO L290 TraceCheckUtils]: 29: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,595 INFO L290 TraceCheckUtils]: 30: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,596 INFO L290 TraceCheckUtils]: 32: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} assume !(~i~0 < ~n~0); {36242#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:39,596 INFO L290 TraceCheckUtils]: 33: Hoare triple {36242#(= |#memory_int| |old(#memory_int)|)} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,596 INFO L290 TraceCheckUtils]: 34: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,597 INFO L290 TraceCheckUtils]: 35: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,597 INFO L290 TraceCheckUtils]: 36: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,597 INFO L290 TraceCheckUtils]: 37: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,597 INFO L290 TraceCheckUtils]: 38: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,598 INFO L290 TraceCheckUtils]: 39: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,598 INFO L290 TraceCheckUtils]: 40: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,598 INFO L290 TraceCheckUtils]: 41: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,598 INFO L290 TraceCheckUtils]: 42: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,599 INFO L290 TraceCheckUtils]: 43: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,599 INFO L290 TraceCheckUtils]: 44: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,599 INFO L290 TraceCheckUtils]: 45: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,600 INFO L290 TraceCheckUtils]: 46: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,600 INFO L290 TraceCheckUtils]: 47: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,600 INFO L290 TraceCheckUtils]: 48: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,601 INFO L290 TraceCheckUtils]: 49: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,601 INFO L290 TraceCheckUtils]: 50: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,601 INFO L290 TraceCheckUtils]: 51: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,601 INFO L290 TraceCheckUtils]: 52: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,602 INFO L290 TraceCheckUtils]: 53: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,602 INFO L290 TraceCheckUtils]: 54: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,602 INFO L290 TraceCheckUtils]: 55: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,603 INFO L290 TraceCheckUtils]: 56: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,603 INFO L290 TraceCheckUtils]: 57: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,603 INFO L290 TraceCheckUtils]: 58: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,603 INFO L290 TraceCheckUtils]: 59: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,604 INFO L290 TraceCheckUtils]: 60: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,604 INFO L290 TraceCheckUtils]: 61: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,604 INFO L290 TraceCheckUtils]: 62: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,605 INFO L290 TraceCheckUtils]: 63: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,605 INFO L290 TraceCheckUtils]: 64: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,605 INFO L290 TraceCheckUtils]: 65: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,605 INFO L290 TraceCheckUtils]: 66: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~i~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,606 INFO L290 TraceCheckUtils]: 67: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,606 INFO L290 TraceCheckUtils]: 68: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,606 INFO L290 TraceCheckUtils]: 69: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume !(~lh~0 < ~n~0); {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,607 INFO L290 TraceCheckUtils]: 70: Hoare triple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} assume true; {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} is VALID [2022-04-28 09:02:39,608 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {36243#(= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|)))} {36166#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (<= |~#array~0.offset| 0))} #91#return; {36221#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,608 INFO L290 TraceCheckUtils]: 72: Hoare triple {36221#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} ~i~1 := 0; {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} is VALID [2022-04-28 09:02:39,608 INFO L290 TraceCheckUtils]: 73: Hoare triple {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} is VALID [2022-04-28 09:02:39,608 INFO L272 TraceCheckUtils]: 74: Hoare triple {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36154#true} is VALID [2022-04-28 09:02:39,608 INFO L290 TraceCheckUtils]: 75: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-28 09:02:39,609 INFO L290 TraceCheckUtils]: 76: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-28 09:02:39,609 INFO L290 TraceCheckUtils]: 77: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-28 09:02:39,609 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {36154#true} {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} #93#return; {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} is VALID [2022-04-28 09:02:39,609 INFO L290 TraceCheckUtils]: 79: Hoare triple {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} havoc #t~mem9; {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} is VALID [2022-04-28 09:02:39,610 INFO L290 TraceCheckUtils]: 80: Hoare triple {36222#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,610 INFO L290 TraceCheckUtils]: 81: Hoare triple {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,610 INFO L272 TraceCheckUtils]: 82: Hoare triple {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36154#true} is VALID [2022-04-28 09:02:39,610 INFO L290 TraceCheckUtils]: 83: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-28 09:02:39,610 INFO L290 TraceCheckUtils]: 84: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-28 09:02:39,610 INFO L290 TraceCheckUtils]: 85: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-28 09:02:39,611 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {36154#true} {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #93#return; {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,611 INFO L290 TraceCheckUtils]: 87: Hoare triple {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} havoc #t~mem9; {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,612 INFO L290 TraceCheckUtils]: 88: Hoare triple {36227#(and (= |main_~#array~1.offset| 0) (<= 1 main_~i~1) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,612 INFO L290 TraceCheckUtils]: 89: Hoare triple {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,612 INFO L272 TraceCheckUtils]: 90: Hoare triple {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36154#true} is VALID [2022-04-28 09:02:39,612 INFO L290 TraceCheckUtils]: 91: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-28 09:02:39,612 INFO L290 TraceCheckUtils]: 92: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-28 09:02:39,612 INFO L290 TraceCheckUtils]: 93: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-28 09:02:39,613 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {36154#true} {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #93#return; {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,613 INFO L290 TraceCheckUtils]: 95: Hoare triple {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} havoc #t~mem9; {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} is VALID [2022-04-28 09:02:39,614 INFO L290 TraceCheckUtils]: 96: Hoare triple {36232#(and (= |main_~#array~1.offset| 0) (<= main_~i~1 2) (<= 2 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) 12) 3))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36237#(and (= |main_~#array~1.offset| 0) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:02:39,614 INFO L290 TraceCheckUtils]: 97: Hoare triple {36237#(and (= |main_~#array~1.offset| 0) (= 12 (+ (* main_~i~1 4) |main_~#array~1.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36238#(and (<= main_~i~1 3) (= main_~i~1 |main_#t~mem9|) (< 2 main_~i~1))} is VALID [2022-04-28 09:02:39,615 INFO L272 TraceCheckUtils]: 98: Hoare triple {36238#(and (<= main_~i~1 3) (= main_~i~1 |main_#t~mem9|) (< 2 main_~i~1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36239#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:02:39,615 INFO L290 TraceCheckUtils]: 99: Hoare triple {36239#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {36240#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:02:39,615 INFO L290 TraceCheckUtils]: 100: Hoare triple {36240#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {36155#false} is VALID [2022-04-28 09:02:39,615 INFO L290 TraceCheckUtils]: 101: Hoare triple {36155#false} assume !false; {36155#false} is VALID [2022-04-28 09:02:39,616 INFO L134 CoverageAnalysis]: Checked inductivity of 291 backedges. 6 proven. 150 refuted. 0 times theorem prover too weak. 135 trivial. 0 not checked. [2022-04-28 09:02:39,616 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:02:39,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [331611595] [2022-04-28 09:02:39,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [331611595] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:02:39,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [755200885] [2022-04-28 09:02:39,616 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:02:39,616 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:02:39,616 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:02:39,617 INFO L229 MonitoredProcess]: Starting monitored process 28 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:02:39,618 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Waiting until timeout for monitored process [2022-04-28 09:02:39,746 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:02:39,746 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:02:39,748 INFO L263 TraceCheckSpWp]: Trace formula consists of 364 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 09:02:39,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:39,768 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:02:39,820 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 09:02:39,820 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-28 09:02:39,885 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-28 09:02:39,970 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:02:39,971 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:02:40,050 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:02:40,051 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:02:40,133 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:02:40,134 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:02:40,633 INFO L390 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 16 treesize of output 18 [2022-04-28 09:02:41,621 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-28 09:02:41,621 INFO L390 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 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-28 09:02:41,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {36154#true} call ULTIMATE.init(); {36154#true} is VALID [2022-04-28 09:02:41,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:02:41,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:02:41,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {36154#true} #95#return; {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:02:41,699 INFO L272 TraceCheckUtils]: 4: Hoare triple {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:02:41,700 INFO L290 TraceCheckUtils]: 5: Hoare triple {36250#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {36263#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:41,700 INFO L290 TraceCheckUtils]: 6: Hoare triple {36263#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36263#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:41,701 INFO L290 TraceCheckUtils]: 7: Hoare triple {36263#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36270#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:41,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {36270#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36274#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:02:41,702 INFO L290 TraceCheckUtils]: 9: Hoare triple {36274#(and (= 4 (+ main_~i~1 1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36278#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:41,702 INFO L290 TraceCheckUtils]: 10: Hoare triple {36278#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36278#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:41,708 INFO L290 TraceCheckUtils]: 11: Hoare triple {36278#(and (= 3 |~#array~0.base|) (<= main_~i~1 2) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36285#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-28 09:02:41,708 INFO L290 TraceCheckUtils]: 12: Hoare triple {36285#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36285#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-28 09:02:41,709 INFO L290 TraceCheckUtils]: 13: Hoare triple {36285#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36292#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} is VALID [2022-04-28 09:02:41,710 INFO L290 TraceCheckUtils]: 14: Hoare triple {36292#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:41,710 INFO L290 TraceCheckUtils]: 15: Hoare triple {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:41,710 INFO L290 TraceCheckUtils]: 16: Hoare triple {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:41,711 INFO L272 TraceCheckUtils]: 17: Hoare triple {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,715 INFO L290 TraceCheckUtils]: 18: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,715 INFO L290 TraceCheckUtils]: 19: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,721 INFO L290 TraceCheckUtils]: 20: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,722 INFO L290 TraceCheckUtils]: 21: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,722 INFO L290 TraceCheckUtils]: 22: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,723 INFO L290 TraceCheckUtils]: 23: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,723 INFO L290 TraceCheckUtils]: 25: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,724 INFO L290 TraceCheckUtils]: 26: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,724 INFO L290 TraceCheckUtils]: 27: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,724 INFO L290 TraceCheckUtils]: 28: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,725 INFO L290 TraceCheckUtils]: 29: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,725 INFO L290 TraceCheckUtils]: 30: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,725 INFO L290 TraceCheckUtils]: 31: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,726 INFO L290 TraceCheckUtils]: 32: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:02:41,726 INFO L290 TraceCheckUtils]: 33: Hoare triple {36306#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,727 INFO L290 TraceCheckUtils]: 34: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,728 INFO L290 TraceCheckUtils]: 35: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,728 INFO L290 TraceCheckUtils]: 36: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,729 INFO L290 TraceCheckUtils]: 37: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,729 INFO L290 TraceCheckUtils]: 38: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,730 INFO L290 TraceCheckUtils]: 39: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,730 INFO L290 TraceCheckUtils]: 40: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,731 INFO L290 TraceCheckUtils]: 41: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,731 INFO L290 TraceCheckUtils]: 42: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,732 INFO L290 TraceCheckUtils]: 43: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,732 INFO L290 TraceCheckUtils]: 44: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,733 INFO L290 TraceCheckUtils]: 45: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(~i~0 < ~n~0); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,734 WARN L290 TraceCheckUtils]: 46: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is UNKNOWN [2022-04-28 09:02:41,735 INFO L290 TraceCheckUtils]: 47: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,735 INFO L290 TraceCheckUtils]: 48: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,736 INFO L290 TraceCheckUtils]: 49: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,736 INFO L290 TraceCheckUtils]: 50: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,737 INFO L290 TraceCheckUtils]: 51: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,737 INFO L290 TraceCheckUtils]: 52: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,738 INFO L290 TraceCheckUtils]: 53: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,738 INFO L290 TraceCheckUtils]: 54: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,739 INFO L290 TraceCheckUtils]: 55: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(~i~0 < ~n~0); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,740 WARN L290 TraceCheckUtils]: 56: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is UNKNOWN [2022-04-28 09:02:41,741 INFO L290 TraceCheckUtils]: 57: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,741 INFO L290 TraceCheckUtils]: 58: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,742 INFO L290 TraceCheckUtils]: 59: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,742 INFO L290 TraceCheckUtils]: 60: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,743 INFO L290 TraceCheckUtils]: 61: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,743 INFO L290 TraceCheckUtils]: 62: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(~i~0 < ~n~0); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,744 WARN L290 TraceCheckUtils]: 63: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is UNKNOWN [2022-04-28 09:02:41,745 INFO L290 TraceCheckUtils]: 64: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,745 INFO L290 TraceCheckUtils]: 65: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,746 INFO L290 TraceCheckUtils]: 66: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(~i~0 < ~n~0); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,747 WARN L290 TraceCheckUtils]: 67: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is UNKNOWN [2022-04-28 09:02:41,748 INFO L290 TraceCheckUtils]: 68: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,748 INFO L290 TraceCheckUtils]: 69: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume !(~lh~0 < ~n~0); {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,749 INFO L290 TraceCheckUtils]: 70: Hoare triple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} assume true; {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} is VALID [2022-04-28 09:02:41,749 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {36355#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1293 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1293))))} {36296#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} #91#return; {36470#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:41,750 INFO L290 TraceCheckUtils]: 72: Hoare triple {36470#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:02:41,750 INFO L290 TraceCheckUtils]: 73: Hoare triple {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:02:41,751 INFO L272 TraceCheckUtils]: 74: Hoare triple {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,751 INFO L290 TraceCheckUtils]: 75: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} ~cond := #in~cond; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,752 INFO L290 TraceCheckUtils]: 76: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume !(0 == ~cond); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,752 INFO L290 TraceCheckUtils]: 77: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume true; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,752 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:02:41,753 INFO L290 TraceCheckUtils]: 79: Hoare triple {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:02:41,753 INFO L290 TraceCheckUtils]: 80: Hoare triple {36474#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:02:41,753 INFO L290 TraceCheckUtils]: 81: Hoare triple {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:02:41,754 INFO L272 TraceCheckUtils]: 82: Hoare triple {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,754 INFO L290 TraceCheckUtils]: 83: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} ~cond := #in~cond; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,755 INFO L290 TraceCheckUtils]: 84: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume !(0 == ~cond); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,755 INFO L290 TraceCheckUtils]: 85: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume true; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,755 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #93#return; {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:02:41,756 INFO L290 TraceCheckUtils]: 87: Hoare triple {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} havoc #t~mem9; {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:02:41,756 INFO L290 TraceCheckUtils]: 88: Hoare triple {36500#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:02:41,757 INFO L290 TraceCheckUtils]: 89: Hoare triple {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:02:41,757 INFO L272 TraceCheckUtils]: 90: Hoare triple {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,758 INFO L290 TraceCheckUtils]: 91: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} ~cond := #in~cond; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,758 INFO L290 TraceCheckUtils]: 92: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume !(0 == ~cond); {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,758 INFO L290 TraceCheckUtils]: 93: Hoare triple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} assume true; {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} is VALID [2022-04-28 09:02:41,759 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {36481#(exists ((|v_main_~#array~1.base_BEFORE_CALL_20| Int) (|v_main_~#array~1.offset_BEFORE_CALL_20| Int)) (and (= 3 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_20|) (+ |v_main_~#array~1.offset_BEFORE_CALL_20| 12))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_20|))))} {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #93#return; {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:02:41,759 INFO L290 TraceCheckUtils]: 95: Hoare triple {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} havoc #t~mem9; {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:02:41,759 INFO L290 TraceCheckUtils]: 96: Hoare triple {36525#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {36550#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:02:41,760 INFO L290 TraceCheckUtils]: 97: Hoare triple {36550#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 12 |main_~#array~1.offset|)) 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {36238#(and (<= main_~i~1 3) (= main_~i~1 |main_#t~mem9|) (< 2 main_~i~1))} is VALID [2022-04-28 09:02:41,760 INFO L272 TraceCheckUtils]: 98: Hoare triple {36238#(and (<= main_~i~1 3) (= main_~i~1 |main_#t~mem9|) (< 2 main_~i~1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {36557#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:02:41,761 INFO L290 TraceCheckUtils]: 99: Hoare triple {36557#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {36561#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:02:41,761 INFO L290 TraceCheckUtils]: 100: Hoare triple {36561#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {36155#false} is VALID [2022-04-28 09:02:41,761 INFO L290 TraceCheckUtils]: 101: Hoare triple {36155#false} assume !false; {36155#false} is VALID [2022-04-28 09:02:41,761 INFO L134 CoverageAnalysis]: Checked inductivity of 291 backedges. 4 proven. 152 refuted. 0 times theorem prover too weak. 135 trivial. 0 not checked. [2022-04-28 09:02:41,761 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:02:42,048 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1304 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1304) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 12)) 3)) is different from false [2022-04-28 09:02:42,049 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [755200885] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:02:42,049 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:02:42,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 39 [2022-04-28 09:02:42,050 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:02:42,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [335481399] [2022-04-28 09:02:42,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [335481399] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:02:42,050 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:02:42,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 09:02:42,050 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [980753503] [2022-04-28 09:02:42,050 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:02:42,050 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 102 [2022-04-28 09:02:42,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:02:42,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:02:42,092 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:02:42,092 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 09:02:42,092 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:02:42,093 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 09:02:42,093 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=1802, Unknown=11, NotChecked=86, Total=2070 [2022-04-28 09:02:42,093 INFO L87 Difference]: Start difference. First operand 610 states and 830 transitions. Second operand has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:02:49,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:02:49,526 INFO L93 Difference]: Finished difference Result 631 states and 853 transitions. [2022-04-28 09:02:49,526 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-28 09:02:49,526 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Word has length 102 [2022-04-28 09:02:49,526 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:02:49,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:02:49,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 85 transitions. [2022-04-28 09:02:49,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:02:49,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 85 transitions. [2022-04-28 09:02:49,528 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 85 transitions. [2022-04-28 09:02:49,612 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:02:49,626 INFO L225 Difference]: With dead ends: 631 [2022-04-28 09:02:49,627 INFO L226 Difference]: Without dead ends: 629 [2022-04-28 09:02:49,627 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 113 SyntacticMatches, 12 SemanticMatches, 63 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1148 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=435, Invalid=3584, Unknown=17, NotChecked=124, Total=4160 [2022-04-28 09:02:49,627 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 130 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 703 mSolverCounterSat, 147 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 130 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 850 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 147 IncrementalHoareTripleChecker+Valid, 703 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 09:02:49,628 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [130 Valid, 43 Invalid, 850 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [147 Valid, 703 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 09:02:49,628 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 629 states. [2022-04-28 09:02:54,649 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 629 to 618. [2022-04-28 09:02:54,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:02:54,650 INFO L82 GeneralOperation]: Start isEquivalent. First operand 629 states. Second operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:02:54,651 INFO L74 IsIncluded]: Start isIncluded. First operand 629 states. Second operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:02:54,651 INFO L87 Difference]: Start difference. First operand 629 states. Second operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:02:54,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:02:54,662 INFO L93 Difference]: Finished difference Result 629 states and 851 transitions. [2022-04-28 09:02:54,662 INFO L276 IsEmpty]: Start isEmpty. Operand 629 states and 851 transitions. [2022-04-28 09:02:54,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:02:54,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:02:54,664 INFO L74 IsIncluded]: Start isIncluded. First operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 629 states. [2022-04-28 09:02:54,664 INFO L87 Difference]: Start difference. First operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 629 states. [2022-04-28 09:02:54,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:02:54,676 INFO L93 Difference]: Finished difference Result 629 states and 851 transitions. [2022-04-28 09:02:54,677 INFO L276 IsEmpty]: Start isEmpty. Operand 629 states and 851 transitions. [2022-04-28 09:02:54,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:02:54,677 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:02:54,677 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:02:54,677 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:02:54,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 618 states, 602 states have (on average 1.367109634551495) internal successors, (823), 603 states have internal predecessors, (823), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:02:54,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 618 states to 618 states and 838 transitions. [2022-04-28 09:02:54,693 INFO L78 Accepts]: Start accepts. Automaton has 618 states and 838 transitions. Word has length 102 [2022-04-28 09:02:54,693 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:02:54,693 INFO L495 AbstractCegarLoop]: Abstraction has 618 states and 838 transitions. [2022-04-28 09:02:54,693 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 20 states have (on average 2.4) internal successors, (48), 18 states have internal predecessors, (48), 7 states have call successors, (7), 5 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 09:02:54,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 618 states and 838 transitions. [2022-04-28 09:02:57,662 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 838 edges. 838 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:02:57,662 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 838 transitions. [2022-04-28 09:02:57,663 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 09:02:57,663 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:02:57,663 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:02:57,680 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Ended with exit code 0 [2022-04-28 09:02:57,864 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 28 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-28 09:02:57,864 INFO L420 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:02:57,864 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:02:57,864 INFO L85 PathProgramCache]: Analyzing trace with hash 1545601530, now seen corresponding path program 9 times [2022-04-28 09:02:57,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:02:57,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [605777640] [2022-04-28 09:02:57,866 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:02:57,866 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:02:57,866 INFO L85 PathProgramCache]: Analyzing trace with hash 1545601530, now seen corresponding path program 10 times [2022-04-28 09:02:57,866 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:02:57,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [305105635] [2022-04-28 09:02:57,867 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:02:57,867 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:02:57,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:58,061 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:02:58,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:58,079 INFO L290 TraceCheckUtils]: 0: Hoare triple {40539#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume true; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,080 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} {40462#true} #95#return; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,084 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:02:58,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:58,345 INFO L290 TraceCheckUtils]: 0: Hoare triple {40540#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {40541#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {40541#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:02:58,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:02:58,346 INFO L290 TraceCheckUtils]: 3: Hoare triple {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40543#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:02:58,347 INFO L290 TraceCheckUtils]: 4: Hoare triple {40543#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40544#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 4)))} is VALID [2022-04-28 09:02:58,347 INFO L290 TraceCheckUtils]: 5: Hoare triple {40544#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40545#(and (< 1 SelectionSort_~i~0) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-28 09:02:58,348 INFO L290 TraceCheckUtils]: 6: Hoare triple {40545#(and (< 1 SelectionSort_~i~0) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40546#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 2) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-28 09:02:58,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {40546#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 2) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40547#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-28 09:02:58,349 INFO L290 TraceCheckUtils]: 8: Hoare triple {40547#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,350 INFO L290 TraceCheckUtils]: 9: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,350 INFO L290 TraceCheckUtils]: 10: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,350 INFO L290 TraceCheckUtils]: 11: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,351 INFO L290 TraceCheckUtils]: 12: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,351 INFO L290 TraceCheckUtils]: 13: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,352 INFO L290 TraceCheckUtils]: 14: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume !(~i~0 < ~n~0); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,352 INFO L290 TraceCheckUtils]: 15: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,352 INFO L290 TraceCheckUtils]: 16: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,353 INFO L290 TraceCheckUtils]: 17: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,353 INFO L290 TraceCheckUtils]: 18: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,353 INFO L290 TraceCheckUtils]: 19: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,354 INFO L290 TraceCheckUtils]: 20: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,354 INFO L290 TraceCheckUtils]: 21: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,354 INFO L290 TraceCheckUtils]: 22: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,354 INFO L290 TraceCheckUtils]: 23: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,355 INFO L290 TraceCheckUtils]: 24: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,355 INFO L290 TraceCheckUtils]: 25: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,355 INFO L290 TraceCheckUtils]: 26: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,356 INFO L290 TraceCheckUtils]: 27: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,356 INFO L290 TraceCheckUtils]: 28: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,356 INFO L290 TraceCheckUtils]: 29: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,356 INFO L290 TraceCheckUtils]: 30: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,357 INFO L290 TraceCheckUtils]: 31: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,357 INFO L290 TraceCheckUtils]: 32: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,357 INFO L290 TraceCheckUtils]: 33: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,358 INFO L290 TraceCheckUtils]: 34: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,358 INFO L290 TraceCheckUtils]: 35: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,358 INFO L290 TraceCheckUtils]: 36: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,358 INFO L290 TraceCheckUtils]: 37: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,359 INFO L290 TraceCheckUtils]: 38: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,359 INFO L290 TraceCheckUtils]: 39: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,359 INFO L290 TraceCheckUtils]: 40: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,360 INFO L290 TraceCheckUtils]: 41: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,360 INFO L290 TraceCheckUtils]: 42: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,360 INFO L290 TraceCheckUtils]: 43: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,360 INFO L290 TraceCheckUtils]: 44: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,361 INFO L290 TraceCheckUtils]: 45: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,361 INFO L290 TraceCheckUtils]: 46: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,361 INFO L290 TraceCheckUtils]: 47: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,362 INFO L290 TraceCheckUtils]: 48: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,362 INFO L290 TraceCheckUtils]: 49: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,362 INFO L290 TraceCheckUtils]: 50: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,362 INFO L290 TraceCheckUtils]: 51: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~lh~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,363 INFO L290 TraceCheckUtils]: 52: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume true; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,363 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #91#return; {40463#false} is VALID [2022-04-28 09:02:58,364 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:02:58,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:58,366 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:02:58,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:02:58,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:02:58,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:02:58,367 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:02:58,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:58,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:02:58,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:02:58,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:02:58,369 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:02:58,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:02:58,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:58,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:02:58,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:02:58,371 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:02:58,371 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:02:58,371 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-28 09:02:58,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:58,373 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:02:58,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:02:58,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:02:58,373 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:02:58,374 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40539#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:02:58,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {40539#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume true; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,375 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} {40462#true} #95#return; {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,376 INFO L272 TraceCheckUtils]: 4: Hoare triple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {40467#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,377 INFO L290 TraceCheckUtils]: 6: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,377 INFO L290 TraceCheckUtils]: 7: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,378 INFO L290 TraceCheckUtils]: 9: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,379 INFO L290 TraceCheckUtils]: 10: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,380 INFO L290 TraceCheckUtils]: 11: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,380 INFO L290 TraceCheckUtils]: 12: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,382 INFO L290 TraceCheckUtils]: 15: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,382 INFO L290 TraceCheckUtils]: 16: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:02:58,383 INFO L272 TraceCheckUtils]: 17: Hoare triple {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} call SelectionSort(); {40540#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:02:58,383 INFO L290 TraceCheckUtils]: 18: Hoare triple {40540#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {40541#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,383 INFO L290 TraceCheckUtils]: 19: Hoare triple {40541#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:02:58,384 INFO L290 TraceCheckUtils]: 20: Hoare triple {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:02:58,384 INFO L290 TraceCheckUtils]: 21: Hoare triple {40542#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40543#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:02:58,385 INFO L290 TraceCheckUtils]: 22: Hoare triple {40543#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40544#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 4)))} is VALID [2022-04-28 09:02:58,385 INFO L290 TraceCheckUtils]: 23: Hoare triple {40544#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40545#(and (< 1 SelectionSort_~i~0) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-28 09:02:58,386 INFO L290 TraceCheckUtils]: 24: Hoare triple {40545#(and (< 1 SelectionSort_~i~0) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40546#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 2) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-28 09:02:58,387 INFO L290 TraceCheckUtils]: 25: Hoare triple {40546#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 2) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40547#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} is VALID [2022-04-28 09:02:58,387 INFO L290 TraceCheckUtils]: 26: Hoare triple {40547#(and (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| 8)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,388 INFO L290 TraceCheckUtils]: 27: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,388 INFO L290 TraceCheckUtils]: 28: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,388 INFO L290 TraceCheckUtils]: 29: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,389 INFO L290 TraceCheckUtils]: 30: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,389 INFO L290 TraceCheckUtils]: 31: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,390 INFO L290 TraceCheckUtils]: 32: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} assume !(~i~0 < ~n~0); {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:02:58,390 INFO L290 TraceCheckUtils]: 33: Hoare triple {40548#(and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (= |#memory_int| |old(#memory_int)|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,390 INFO L290 TraceCheckUtils]: 34: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,391 INFO L290 TraceCheckUtils]: 35: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,391 INFO L290 TraceCheckUtils]: 36: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,391 INFO L290 TraceCheckUtils]: 37: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,391 INFO L290 TraceCheckUtils]: 38: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,392 INFO L290 TraceCheckUtils]: 39: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,392 INFO L290 TraceCheckUtils]: 40: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,392 INFO L290 TraceCheckUtils]: 41: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,393 INFO L290 TraceCheckUtils]: 42: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,393 INFO L290 TraceCheckUtils]: 43: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,393 INFO L290 TraceCheckUtils]: 44: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,393 INFO L290 TraceCheckUtils]: 45: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,394 INFO L290 TraceCheckUtils]: 46: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,394 INFO L290 TraceCheckUtils]: 47: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,394 INFO L290 TraceCheckUtils]: 48: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,395 INFO L290 TraceCheckUtils]: 49: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,395 INFO L290 TraceCheckUtils]: 50: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,395 INFO L290 TraceCheckUtils]: 51: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,395 INFO L290 TraceCheckUtils]: 52: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,396 INFO L290 TraceCheckUtils]: 53: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,396 INFO L290 TraceCheckUtils]: 54: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,396 INFO L290 TraceCheckUtils]: 55: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,397 INFO L290 TraceCheckUtils]: 56: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,397 INFO L290 TraceCheckUtils]: 57: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,397 INFO L290 TraceCheckUtils]: 58: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,398 INFO L290 TraceCheckUtils]: 59: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,398 INFO L290 TraceCheckUtils]: 60: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,398 INFO L290 TraceCheckUtils]: 61: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,399 INFO L290 TraceCheckUtils]: 62: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,399 INFO L290 TraceCheckUtils]: 63: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,399 INFO L290 TraceCheckUtils]: 64: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,400 INFO L290 TraceCheckUtils]: 65: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,400 INFO L290 TraceCheckUtils]: 66: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,400 INFO L290 TraceCheckUtils]: 67: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,401 INFO L290 TraceCheckUtils]: 68: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,401 INFO L290 TraceCheckUtils]: 69: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~lh~0 < ~n~0); {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,401 INFO L290 TraceCheckUtils]: 70: Hoare triple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume true; {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:02:58,402 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40549#(not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} {40468#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= |~#array~0.offset| 0))} #91#return; {40463#false} is VALID [2022-04-28 09:02:58,402 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-28 09:02:58,402 INFO L290 TraceCheckUtils]: 73: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:02:58,402 INFO L272 TraceCheckUtils]: 74: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-28 09:02:58,402 INFO L290 TraceCheckUtils]: 75: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:02:58,402 INFO L290 TraceCheckUtils]: 76: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:02:58,402 INFO L290 TraceCheckUtils]: 77: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:02:58,403 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 80: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 81: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:02:58,403 INFO L272 TraceCheckUtils]: 82: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 83: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 84: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 85: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:02:58,403 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 88: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 89: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:02:58,403 INFO L272 TraceCheckUtils]: 90: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 91: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:02:58,403 INFO L290 TraceCheckUtils]: 92: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 93: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:02:58,404 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 96: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 97: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:02:58,404 INFO L272 TraceCheckUtils]: 98: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 99: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 100: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 101: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:02:58,404 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 104: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 105: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:02:58,404 INFO L272 TraceCheckUtils]: 106: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-28 09:02:58,404 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-28 09:02:58,405 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-28 09:02:58,405 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-28 09:02:58,405 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 8 proven. 126 refuted. 0 times theorem prover too weak. 185 trivial. 0 not checked. [2022-04-28 09:02:58,405 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:02:58,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [305105635] [2022-04-28 09:02:58,405 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [305105635] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:02:58,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [735698145] [2022-04-28 09:02:58,405 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:02:58,406 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:02:58,406 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:02:58,407 INFO L229 MonitoredProcess]: Starting monitored process 29 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:02:58,408 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Waiting until timeout for monitored process [2022-04-28 09:02:58,550 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:02:58,550 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:02:58,552 INFO L263 TraceCheckSpWp]: Trace formula consists of 326 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-28 09:02:58,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:02:58,580 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:02:59,011 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-28 09:02:59,011 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 55 treesize of output 42 [2022-04-28 09:02:59,338 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-28 09:02:59,338 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 55 treesize of output 42 [2022-04-28 09:02:59,758 INFO L356 Elim1Store]: treesize reduction 273, result has 8.1 percent of original size [2022-04-28 09:02:59,759 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 10 case distinctions, treesize of input 70 treesize of output 45 [2022-04-28 09:02:59,894 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-28 09:02:59,894 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 36 treesize of output 12 [2022-04-28 09:02:59,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40462#true} #95#return; {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L272 TraceCheckUtils]: 4: Hoare triple {40462#true} call #t~ret10 := main(); {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {40462#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 6: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 7: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 10: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 11: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-28 09:02:59,996 INFO L290 TraceCheckUtils]: 15: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-28 09:02:59,997 INFO L290 TraceCheckUtils]: 16: Hoare triple {40462#true} assume !(~i~1 >= 0); {40462#true} is VALID [2022-04-28 09:02:59,997 INFO L272 TraceCheckUtils]: 17: Hoare triple {40462#true} call SelectionSort(); {40462#true} is VALID [2022-04-28 09:02:59,997 INFO L290 TraceCheckUtils]: 18: Hoare triple {40462#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {40607#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:02:59,997 INFO L290 TraceCheckUtils]: 19: Hoare triple {40607#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40611#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:02:59,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {40611#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40615#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:02:59,999 INFO L290 TraceCheckUtils]: 21: Hoare triple {40615#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40619#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:02:59,999 INFO L290 TraceCheckUtils]: 22: Hoare triple {40619#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:03:00,000 INFO L290 TraceCheckUtils]: 23: Hoare triple {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:03:00,000 INFO L290 TraceCheckUtils]: 24: Hoare triple {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:03:00,001 INFO L290 TraceCheckUtils]: 25: Hoare triple {40623#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:03:00,001 INFO L290 TraceCheckUtils]: 26: Hoare triple {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:03:00,002 INFO L290 TraceCheckUtils]: 27: Hoare triple {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:03:00,002 INFO L290 TraceCheckUtils]: 28: Hoare triple {40633#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40643#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:03:00,003 INFO L290 TraceCheckUtils]: 29: Hoare triple {40643#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40643#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:03:00,003 INFO L290 TraceCheckUtils]: 30: Hoare triple {40643#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~i~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} is VALID [2022-04-28 09:03:00,003 INFO L290 TraceCheckUtils]: 31: Hoare triple {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} is VALID [2022-04-28 09:03:00,004 INFO L290 TraceCheckUtils]: 32: Hoare triple {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} assume !(~i~0 < ~n~0); {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} is VALID [2022-04-28 09:03:00,005 INFO L290 TraceCheckUtils]: 33: Hoare triple {40650#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= (+ SelectionSort_~lh~0 3) (+ (- 1) SelectionSort_~rh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40660#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:03:00,005 INFO L290 TraceCheckUtils]: 34: Hoare triple {40660#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40664#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:00,006 INFO L290 TraceCheckUtils]: 35: Hoare triple {40664#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:00,006 INFO L290 TraceCheckUtils]: 36: Hoare triple {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:00,007 INFO L290 TraceCheckUtils]: 37: Hoare triple {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:00,007 INFO L290 TraceCheckUtils]: 38: Hoare triple {40668#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40678#(and (= SelectionSort_~lh~0 1) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:00,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {40678#(and (= SelectionSort_~lh~0 1) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40678#(and (= SelectionSort_~lh~0 1) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:00,008 INFO L290 TraceCheckUtils]: 40: Hoare triple {40678#(and (= SelectionSort_~lh~0 1) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:00,008 INFO L290 TraceCheckUtils]: 41: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:00,009 INFO L290 TraceCheckUtils]: 42: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:00,009 INFO L290 TraceCheckUtils]: 43: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:00,010 INFO L290 TraceCheckUtils]: 44: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:00,010 INFO L290 TraceCheckUtils]: 45: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(~i~0 < ~n~0); {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:00,011 INFO L290 TraceCheckUtils]: 46: Hoare triple {40685#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40704#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:00,011 INFO L290 TraceCheckUtils]: 47: Hoare triple {40704#(and (= SelectionSort_~lh~0 1) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40708#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-28 09:03:00,012 INFO L290 TraceCheckUtils]: 48: Hoare triple {40708#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-28 09:03:00,012 INFO L290 TraceCheckUtils]: 49: Hoare triple {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-28 09:03:00,013 INFO L290 TraceCheckUtils]: 50: Hoare triple {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-28 09:03:00,013 INFO L290 TraceCheckUtils]: 51: Hoare triple {40712#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40722#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-28 09:03:00,014 INFO L290 TraceCheckUtils]: 52: Hoare triple {40722#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40726#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:03:00,014 INFO L290 TraceCheckUtils]: 53: Hoare triple {40726#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:00,015 INFO L290 TraceCheckUtils]: 54: Hoare triple {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:00,015 INFO L290 TraceCheckUtils]: 55: Hoare triple {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} assume !(~i~0 < ~n~0); {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:00,016 INFO L290 TraceCheckUtils]: 56: Hoare triple {40730#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~lh~0 2) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ SelectionSort_~lh~0 2)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40740#(and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 2))} is VALID [2022-04-28 09:03:00,017 INFO L290 TraceCheckUtils]: 57: Hoare triple {40740#(and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 2))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40744#(and (= SelectionSort_~lh~0 3) (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))))} is VALID [2022-04-28 09:03:00,017 INFO L290 TraceCheckUtils]: 58: Hoare triple {40744#(and (= SelectionSort_~lh~0 3) (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40748#(and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (= SelectionSort_~i~0 4))} is VALID [2022-04-28 09:03:00,018 INFO L290 TraceCheckUtils]: 59: Hoare triple {40748#(and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) 1) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (= SelectionSort_~i~0 4))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40752#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:03:00,018 INFO L290 TraceCheckUtils]: 60: Hoare triple {40752#(< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40463#false} is VALID [2022-04-28 09:03:00,018 INFO L290 TraceCheckUtils]: 61: Hoare triple {40463#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40463#false} is VALID [2022-04-28 09:03:00,018 INFO L290 TraceCheckUtils]: 62: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-28 09:03:00,018 INFO L290 TraceCheckUtils]: 63: Hoare triple {40463#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40463#false} is VALID [2022-04-28 09:03:00,018 INFO L290 TraceCheckUtils]: 64: Hoare triple {40463#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40463#false} is VALID [2022-04-28 09:03:00,018 INFO L290 TraceCheckUtils]: 65: Hoare triple {40463#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40463#false} is VALID [2022-04-28 09:03:00,018 INFO L290 TraceCheckUtils]: 66: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-28 09:03:00,018 INFO L290 TraceCheckUtils]: 67: Hoare triple {40463#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 68: Hoare triple {40463#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 69: Hoare triple {40463#false} assume !(~lh~0 < ~n~0); {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 70: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40463#false} {40462#true} #91#return; {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 73: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L272 TraceCheckUtils]: 74: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 75: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 76: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 77: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 80: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L290 TraceCheckUtils]: 81: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:03:00,019 INFO L272 TraceCheckUtils]: 82: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 83: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 84: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 85: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 88: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 89: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L272 TraceCheckUtils]: 90: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 91: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 92: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 93: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 96: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:03:00,020 INFO L290 TraceCheckUtils]: 97: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L272 TraceCheckUtils]: 98: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L290 TraceCheckUtils]: 99: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L290 TraceCheckUtils]: 100: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L290 TraceCheckUtils]: 101: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L290 TraceCheckUtils]: 104: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L290 TraceCheckUtils]: 105: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L272 TraceCheckUtils]: 106: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-28 09:03:00,021 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-28 09:03:00,022 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 55 proven. 169 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-28 09:03:00,022 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:03:07,637 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 133 treesize of output 119 [2022-04-28 09:03:07,799 INFO L356 Elim1Store]: treesize reduction 140, result has 45.3 percent of original size [2022-04-28 09:03:07,800 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 3143 treesize of output 2904 [2022-04-28 09:03:10,292 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-28 09:03:10,292 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-28 09:03:10,292 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-28 09:03:10,292 INFO L272 TraceCheckUtils]: 106: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40463#false} is VALID [2022-04-28 09:03:10,292 INFO L290 TraceCheckUtils]: 105: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:03:10,292 INFO L290 TraceCheckUtils]: 104: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:03:10,292 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:03:10,292 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:03:10,292 INFO L290 TraceCheckUtils]: 101: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:03:10,292 INFO L290 TraceCheckUtils]: 100: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:03:10,292 INFO L290 TraceCheckUtils]: 99: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:03:10,292 INFO L272 TraceCheckUtils]: 98: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 97: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 96: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:03:10,293 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 93: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 92: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 91: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:03:10,293 INFO L272 TraceCheckUtils]: 90: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 89: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 88: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:03:10,293 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 85: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 84: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:03:10,293 INFO L290 TraceCheckUtils]: 83: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:03:10,294 INFO L272 TraceCheckUtils]: 82: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 81: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 80: Hoare triple {40463#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {40463#false} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-28 09:03:10,294 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 77: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 76: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 75: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-28 09:03:10,294 INFO L272 TraceCheckUtils]: 74: Hoare triple {40463#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {40462#true} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 73: Hoare triple {40463#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40463#false} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-28 09:03:10,294 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40463#false} {40462#true} #91#return; {40463#false} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 70: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 69: Hoare triple {40463#false} assume !(~lh~0 < ~n~0); {40463#false} is VALID [2022-04-28 09:03:10,294 INFO L290 TraceCheckUtils]: 68: Hoare triple {40463#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40463#false} is VALID [2022-04-28 09:03:10,295 INFO L290 TraceCheckUtils]: 67: Hoare triple {40463#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40463#false} is VALID [2022-04-28 09:03:10,295 INFO L290 TraceCheckUtils]: 66: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-28 09:03:10,295 INFO L290 TraceCheckUtils]: 65: Hoare triple {40463#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {40463#false} is VALID [2022-04-28 09:03:10,295 INFO L290 TraceCheckUtils]: 64: Hoare triple {40463#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {40463#false} is VALID [2022-04-28 09:03:10,295 INFO L290 TraceCheckUtils]: 63: Hoare triple {40463#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {40463#false} is VALID [2022-04-28 09:03:10,295 INFO L290 TraceCheckUtils]: 62: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-28 09:03:10,295 INFO L290 TraceCheckUtils]: 61: Hoare triple {40463#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {40463#false} is VALID [2022-04-28 09:03:10,295 INFO L290 TraceCheckUtils]: 60: Hoare triple {41053#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {40463#false} is VALID [2022-04-28 09:03:10,296 INFO L290 TraceCheckUtils]: 59: Hoare triple {41057#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41053#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} is VALID [2022-04-28 09:03:10,297 INFO L290 TraceCheckUtils]: 58: Hoare triple {41061#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {41057#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:03:10,297 INFO L290 TraceCheckUtils]: 57: Hoare triple {41065#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {41061#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:03:10,298 INFO L290 TraceCheckUtils]: 56: Hoare triple {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41065#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:03:10,299 INFO L290 TraceCheckUtils]: 55: Hoare triple {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,299 INFO L290 TraceCheckUtils]: 54: Hoare triple {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,300 INFO L290 TraceCheckUtils]: 53: Hoare triple {41079#(or (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41069#(forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,301 INFO L290 TraceCheckUtils]: 52: Hoare triple {41083#(or (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41079#(or (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)))} is VALID [2022-04-28 09:03:10,304 INFO L290 TraceCheckUtils]: 51: Hoare triple {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41083#(or (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:03:10,305 INFO L290 TraceCheckUtils]: 50: Hoare triple {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:03:10,305 INFO L290 TraceCheckUtils]: 49: Hoare triple {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:03:10,306 INFO L290 TraceCheckUtils]: 48: Hoare triple {41097#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {41087#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1380 Int) (v_ArrVal_1382 Int)) (or (< v_ArrVal_1382 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1380) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1382) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:03:10,307 INFO L290 TraceCheckUtils]: 47: Hoare triple {41101#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {41097#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:10,308 INFO L290 TraceCheckUtils]: 46: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41101#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:10,309 INFO L290 TraceCheckUtils]: 45: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,310 INFO L290 TraceCheckUtils]: 44: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,310 INFO L290 TraceCheckUtils]: 43: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,311 INFO L290 TraceCheckUtils]: 42: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,311 INFO L290 TraceCheckUtils]: 41: Hoare triple {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,313 INFO L290 TraceCheckUtils]: 40: Hoare triple {41124#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41105#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,314 INFO L290 TraceCheckUtils]: 39: Hoare triple {41124#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41124#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,318 INFO L290 TraceCheckUtils]: 38: Hoare triple {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41124#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,319 INFO L290 TraceCheckUtils]: 37: Hoare triple {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,320 INFO L290 TraceCheckUtils]: 36: Hoare triple {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,321 INFO L290 TraceCheckUtils]: 35: Hoare triple {41141#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {41131#(forall ((v_ArrVal_1378 Int) (v_ArrVal_1377 Int)) (or (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) v_ArrVal_1377) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1378) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1377) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,322 INFO L290 TraceCheckUtils]: 34: Hoare triple {41145#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {41141#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:10,323 INFO L290 TraceCheckUtils]: 33: Hoare triple {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41145#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:10,323 INFO L290 TraceCheckUtils]: 32: Hoare triple {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,324 INFO L290 TraceCheckUtils]: 31: Hoare triple {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,326 INFO L290 TraceCheckUtils]: 30: Hoare triple {41159#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41149#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,326 INFO L290 TraceCheckUtils]: 29: Hoare triple {41159#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41159#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,330 INFO L290 TraceCheckUtils]: 28: Hoare triple {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41159#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,330 INFO L290 TraceCheckUtils]: 27: Hoare triple {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,335 INFO L290 TraceCheckUtils]: 25: Hoare triple {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41166#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,336 INFO L290 TraceCheckUtils]: 24: Hoare triple {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,336 INFO L290 TraceCheckUtils]: 23: Hoare triple {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,339 INFO L290 TraceCheckUtils]: 22: Hoare triple {41186#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {41176#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,340 INFO L290 TraceCheckUtils]: 21: Hoare triple {41190#(or (forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {41186#(forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:03:10,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {41194#(or (and (or (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))) (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {41190#(or (forall ((v_ArrVal_1374 Int) (v_ArrVal_1376 Int)) (or (< v_ArrVal_1374 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1376) (+ |~#array~0.offset| 12 (* SelectionSort_~i~0 4)) v_ArrVal_1374) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:03:10,343 INFO L290 TraceCheckUtils]: 19: Hoare triple {40462#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {41194#(or (and (or (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))) (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:03:10,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {40462#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {40462#true} is VALID [2022-04-28 09:03:10,343 INFO L272 TraceCheckUtils]: 17: Hoare triple {40462#true} call SelectionSort(); {40462#true} is VALID [2022-04-28 09:03:10,343 INFO L290 TraceCheckUtils]: 16: Hoare triple {40462#true} assume !(~i~1 >= 0); {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 13: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 12: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 11: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 10: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 9: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 8: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 7: Hoare triple {40462#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 6: Hoare triple {40462#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 5: Hoare triple {40462#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L272 TraceCheckUtils]: 4: Hoare triple {40462#true} call #t~ret10 := main(); {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40462#true} #95#return; {40462#true} is VALID [2022-04-28 09:03:10,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-28 09:03:10,345 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {40462#true} is VALID [2022-04-28 09:03:10,345 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40462#true} is VALID [2022-04-28 09:03:10,345 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 74 proven. 158 refuted. 0 times theorem prover too weak. 87 trivial. 0 not checked. [2022-04-28 09:03:10,345 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [735698145] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:03:10,345 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:03:10,345 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 25, 24] total 60 [2022-04-28 09:03:10,346 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:03:10,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [605777640] [2022-04-28 09:03:10,346 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [605777640] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:03:10,346 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:03:10,346 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 09:03:10,346 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [738015853] [2022-04-28 09:03:10,346 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:03:10,347 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:03:10,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:03:10,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:03:10,380 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:03:10,380 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 09:03:10,380 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:03:10,380 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 09:03:10,381 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=240, Invalid=3299, Unknown=1, NotChecked=0, Total=3540 [2022-04-28 09:03:10,381 INFO L87 Difference]: Start difference. First operand 618 states and 838 transitions. Second operand has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:03:15,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:03:15,978 INFO L93 Difference]: Finished difference Result 1142 states and 1560 transitions. [2022-04-28 09:03:15,978 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 09:03:15,979 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:03:15,979 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:03:15,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:03:15,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2022-04-28 09:03:15,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:03:15,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2022-04-28 09:03:15,980 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 72 transitions. [2022-04-28 09:03:16,042 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:03:16,059 INFO L225 Difference]: With dead ends: 1142 [2022-04-28 09:03:16,059 INFO L226 Difference]: Without dead ends: 563 [2022-04-28 09:03:16,060 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 260 GetRequests, 192 SyntacticMatches, 0 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1462 ImplicationChecksByTransitivity, 4.2s TimeCoverageRelationStatistics Valid=380, Invalid=4449, Unknown=1, NotChecked=0, Total=4830 [2022-04-28 09:03:16,061 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 65 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 295 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 66 SdHoareTripleChecker+Valid, 23 SdHoareTripleChecker+Invalid, 326 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 295 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 09:03:16,061 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [66 Valid, 23 Invalid, 326 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 295 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 09:03:16,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 563 states. [2022-04-28 09:03:20,540 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 563 to 563. [2022-04-28 09:03:20,540 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:03:20,540 INFO L82 GeneralOperation]: Start isEquivalent. First operand 563 states. Second operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:03:20,541 INFO L74 IsIncluded]: Start isIncluded. First operand 563 states. Second operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:03:20,541 INFO L87 Difference]: Start difference. First operand 563 states. Second operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:03:20,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:03:20,551 INFO L93 Difference]: Finished difference Result 563 states and 767 transitions. [2022-04-28 09:03:20,551 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-28 09:03:20,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:03:20,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:03:20,552 INFO L74 IsIncluded]: Start isIncluded. First operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 563 states. [2022-04-28 09:03:20,552 INFO L87 Difference]: Start difference. First operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 563 states. [2022-04-28 09:03:20,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:03:20,561 INFO L93 Difference]: Finished difference Result 563 states and 767 transitions. [2022-04-28 09:03:20,561 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-28 09:03:20,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:03:20,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:03:20,562 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:03:20,562 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:03:20,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 563 states, 547 states have (on average 1.3747714808043876) internal successors, (752), 548 states have internal predecessors, (752), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:03:20,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 563 states to 563 states and 767 transitions. [2022-04-28 09:03:20,575 INFO L78 Accepts]: Start accepts. Automaton has 563 states and 767 transitions. Word has length 110 [2022-04-28 09:03:20,575 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:03:20,575 INFO L495 AbstractCegarLoop]: Abstraction has 563 states and 767 transitions. [2022-04-28 09:03:20,575 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.6666666666666665) internal successors, (40), 13 states have internal predecessors, (40), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:03:20,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 563 states and 767 transitions. [2022-04-28 09:03:23,266 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 767 edges. 767 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:03:23,266 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-28 09:03:23,267 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 09:03:23,267 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:03:23,268 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:03:23,286 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (29)] Forceful destruction successful, exit code 0 [2022-04-28 09:03:23,479 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,29 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:03:23,479 INFO L420 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:03:23,480 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:03:23,480 INFO L85 PathProgramCache]: Analyzing trace with hash 120276278, now seen corresponding path program 11 times [2022-04-28 09:03:23,480 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:03:23,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [359423332] [2022-04-28 09:03:23,481 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:03:23,481 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:03:23,482 INFO L85 PathProgramCache]: Analyzing trace with hash 120276278, now seen corresponding path program 12 times [2022-04-28 09:03:23,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:03:23,482 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1066539633] [2022-04-28 09:03:23,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:03:23,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:03:23,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:03:23,658 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:03:23,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:03:23,671 INFO L290 TraceCheckUtils]: 0: Hoare triple {45888#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:23,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume true; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:23,672 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} {45811#true} #95#return; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:23,676 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:03:23,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:03:24,335 INFO L290 TraceCheckUtils]: 0: Hoare triple {45889#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {45811#true} is VALID [2022-04-28 09:03:24,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45890#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:03:24,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {45890#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45891#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:03:24,337 INFO L290 TraceCheckUtils]: 3: Hoare triple {45891#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45892#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:24,338 INFO L290 TraceCheckUtils]: 4: Hoare triple {45892#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:24,338 INFO L290 TraceCheckUtils]: 5: Hoare triple {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45894#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:24,338 INFO L290 TraceCheckUtils]: 6: Hoare triple {45894#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:24,339 INFO L290 TraceCheckUtils]: 7: Hoare triple {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45895#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:03:24,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {45895#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45896#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:03:24,340 INFO L290 TraceCheckUtils]: 9: Hoare triple {45896#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45897#(and (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:03:24,341 INFO L290 TraceCheckUtils]: 10: Hoare triple {45897#(and (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45898#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-28 09:03:24,342 INFO L290 TraceCheckUtils]: 11: Hoare triple {45898#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45899#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:03:24,342 INFO L290 TraceCheckUtils]: 12: Hoare triple {45899#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45900#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:03:24,343 INFO L290 TraceCheckUtils]: 13: Hoare triple {45900#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45901#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:03:24,344 INFO L290 TraceCheckUtils]: 14: Hoare triple {45901#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume !(~i~0 < ~n~0); {45902#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:03:24,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {45902#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45903#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:03:24,345 INFO L290 TraceCheckUtils]: 16: Hoare triple {45903#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45904#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:03:24,346 INFO L290 TraceCheckUtils]: 17: Hoare triple {45904#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:03:24,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:03:24,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:03:24,348 INFO L290 TraceCheckUtils]: 20: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:03:24,349 INFO L290 TraceCheckUtils]: 21: Hoare triple {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:03:24,349 INFO L290 TraceCheckUtils]: 22: Hoare triple {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45907#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:03:24,350 INFO L290 TraceCheckUtils]: 23: Hoare triple {45907#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45908#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:03:24,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {45908#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45909#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:03:24,351 INFO L290 TraceCheckUtils]: 25: Hoare triple {45909#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-28 09:03:24,352 INFO L290 TraceCheckUtils]: 26: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:24,352 INFO L290 TraceCheckUtils]: 27: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:24,352 INFO L290 TraceCheckUtils]: 28: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 29: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 30: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 31: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 32: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 33: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 34: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 35: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 36: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 37: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 38: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 39: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 40: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 41: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 42: Hoare triple {45812#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45812#false} is VALID [2022-04-28 09:03:24,353 INFO L290 TraceCheckUtils]: 43: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:24,354 INFO L290 TraceCheckUtils]: 44: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:24,354 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,354 INFO L290 TraceCheckUtils]: 46: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:24,354 INFO L290 TraceCheckUtils]: 47: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-28 09:03:24,354 INFO L290 TraceCheckUtils]: 48: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:24,354 INFO L290 TraceCheckUtils]: 49: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,354 INFO L290 TraceCheckUtils]: 50: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:24,354 INFO L290 TraceCheckUtils]: 51: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:24,354 INFO L290 TraceCheckUtils]: 52: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-28 09:03:24,354 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {45812#false} {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #91#return; {45812#false} is VALID [2022-04-28 09:03:24,355 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:03:24,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:03:24,363 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:24,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:24,363 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:24,363 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:24,363 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:03:24,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:03:24,366 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:24,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:24,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:24,366 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:24,367 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:03:24,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:03:24,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:24,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:24,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:24,369 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:24,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-28 09:03:24,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:03:24,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:24,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:24,371 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:24,371 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:24,372 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45888#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:03:24,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {45888#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume true; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,373 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} {45811#true} #95#return; {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,373 INFO L272 TraceCheckUtils]: 4: Hoare triple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} call #t~ret10 := main(); {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {45816#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,375 INFO L290 TraceCheckUtils]: 6: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,375 INFO L290 TraceCheckUtils]: 7: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,376 INFO L290 TraceCheckUtils]: 8: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,376 INFO L290 TraceCheckUtils]: 9: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,377 INFO L290 TraceCheckUtils]: 10: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,377 INFO L290 TraceCheckUtils]: 11: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,378 INFO L290 TraceCheckUtils]: 12: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,378 INFO L290 TraceCheckUtils]: 13: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,379 INFO L290 TraceCheckUtils]: 14: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,379 INFO L290 TraceCheckUtils]: 15: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,379 INFO L290 TraceCheckUtils]: 16: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:24,380 INFO L272 TraceCheckUtils]: 17: Hoare triple {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} call SelectionSort(); {45889#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:03:24,380 INFO L290 TraceCheckUtils]: 18: Hoare triple {45889#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {45811#true} is VALID [2022-04-28 09:03:24,380 INFO L290 TraceCheckUtils]: 19: Hoare triple {45811#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45890#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:03:24,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {45890#(and (= (+ (* (- 1) SelectionSort_~lh~0) SelectionSort_~rh~0) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45891#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:03:24,382 INFO L290 TraceCheckUtils]: 21: Hoare triple {45891#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45892#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:24,382 INFO L290 TraceCheckUtils]: 22: Hoare triple {45892#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:24,383 INFO L290 TraceCheckUtils]: 23: Hoare triple {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45894#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:03:24,383 INFO L290 TraceCheckUtils]: 24: Hoare triple {45894#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:03:24,384 INFO L290 TraceCheckUtils]: 25: Hoare triple {45893#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45895#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:03:24,384 INFO L290 TraceCheckUtils]: 26: Hoare triple {45895#(and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45896#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:03:24,385 INFO L290 TraceCheckUtils]: 27: Hoare triple {45896#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45897#(and (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:03:24,386 INFO L290 TraceCheckUtils]: 28: Hoare triple {45897#(and (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45898#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} is VALID [2022-04-28 09:03:24,386 INFO L290 TraceCheckUtils]: 29: Hoare triple {45898#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45899#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:03:24,387 INFO L290 TraceCheckUtils]: 30: Hoare triple {45899#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ 2 |SelectionSort_#t~mem4|) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45900#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:03:24,388 INFO L290 TraceCheckUtils]: 31: Hoare triple {45900#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45901#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:03:24,388 INFO L290 TraceCheckUtils]: 32: Hoare triple {45901#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume !(~i~0 < ~n~0); {45902#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:03:24,389 INFO L290 TraceCheckUtils]: 33: Hoare triple {45902#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45903#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:03:24,390 INFO L290 TraceCheckUtils]: 34: Hoare triple {45903#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45904#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:03:24,391 INFO L290 TraceCheckUtils]: 35: Hoare triple {45904#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:03:24,392 INFO L290 TraceCheckUtils]: 36: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:03:24,392 INFO L290 TraceCheckUtils]: 37: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:03:24,393 INFO L290 TraceCheckUtils]: 38: Hoare triple {45905#(and (<= ~n~0 (+ SelectionSort_~i~0 3)) (or (< ~n~0 (+ SelectionSort_~i~0 3)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) 2) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:03:24,394 INFO L290 TraceCheckUtils]: 39: Hoare triple {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:03:24,394 INFO L290 TraceCheckUtils]: 40: Hoare triple {45906#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45907#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} is VALID [2022-04-28 09:03:24,395 INFO L290 TraceCheckUtils]: 41: Hoare triple {45907#(or (and (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45908#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:03:24,396 INFO L290 TraceCheckUtils]: 42: Hoare triple {45908#(or (<= ~n~0 SelectionSort_~i~0) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45909#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:03:24,396 INFO L290 TraceCheckUtils]: 43: Hoare triple {45909#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-28 09:03:24,396 INFO L290 TraceCheckUtils]: 44: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:24,396 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:24,396 INFO L290 TraceCheckUtils]: 46: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,396 INFO L290 TraceCheckUtils]: 47: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:24,396 INFO L290 TraceCheckUtils]: 48: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-28 09:03:24,396 INFO L290 TraceCheckUtils]: 49: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 50: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 51: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 52: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 53: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 54: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 55: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 56: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 57: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 58: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 59: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 60: Hoare triple {45812#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 61: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 62: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 63: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 64: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:24,397 INFO L290 TraceCheckUtils]: 65: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 66: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 67: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 68: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 69: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 70: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {45812#false} {45817#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) |~#array~0.offset|) 0) (= |~#array~0.offset| 0))} #91#return; {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 73: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L272 TraceCheckUtils]: 74: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 75: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 76: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 77: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:24,398 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:24,398 INFO L290 TraceCheckUtils]: 80: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 81: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:24,399 INFO L272 TraceCheckUtils]: 82: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 83: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 84: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 85: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:24,399 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 88: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 89: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:24,399 INFO L272 TraceCheckUtils]: 90: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 91: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 92: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 93: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:24,399 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:24,399 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 96: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 97: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:24,400 INFO L272 TraceCheckUtils]: 98: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 99: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 100: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 101: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:24,400 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 104: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 105: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:24,400 INFO L272 TraceCheckUtils]: 106: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-28 09:03:24,400 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-28 09:03:24,401 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 129 proven. 61 refuted. 0 times theorem prover too weak. 129 trivial. 0 not checked. [2022-04-28 09:03:24,401 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:03:24,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1066539633] [2022-04-28 09:03:24,401 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1066539633] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:03:24,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [426136909] [2022-04-28 09:03:24,401 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 09:03:24,401 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:03:24,402 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:03:24,402 INFO L229 MonitoredProcess]: Starting monitored process 30 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:03:24,403 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Waiting until timeout for monitored process [2022-04-28 09:03:24,669 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-28 09:03:24,669 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:03:24,672 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-28 09:03:24,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:03:24,700 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:03:25,859 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:03:25,860 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:03:25,861 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:03:25,880 INFO L356 Elim1Store]: treesize reduction 99, result has 22.0 percent of original size [2022-04-28 09:03:25,880 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 4 case distinctions, treesize of input 73 treesize of output 71 [2022-04-28 09:03:26,956 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-28 09:03:26,957 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:03:26,957 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:03:26,958 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-28 09:03:26,962 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-28 09:03:26,962 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 41 treesize of output 18 [2022-04-28 09:03:27,133 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45811#true} is VALID [2022-04-28 09:03:27,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume true; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} {45811#true} #95#return; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,135 INFO L272 TraceCheckUtils]: 4: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call #t~ret10 := main(); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,135 INFO L290 TraceCheckUtils]: 5: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {45929#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,135 INFO L290 TraceCheckUtils]: 6: Hoare triple {45929#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45929#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,136 INFO L290 TraceCheckUtils]: 7: Hoare triple {45929#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,136 INFO L290 TraceCheckUtils]: 8: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,136 INFO L290 TraceCheckUtils]: 9: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,137 INFO L290 TraceCheckUtils]: 10: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,137 INFO L290 TraceCheckUtils]: 11: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,138 INFO L290 TraceCheckUtils]: 12: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,138 INFO L290 TraceCheckUtils]: 13: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,138 INFO L290 TraceCheckUtils]: 14: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,139 INFO L290 TraceCheckUtils]: 15: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,139 INFO L290 TraceCheckUtils]: 16: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,139 INFO L272 TraceCheckUtils]: 17: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call SelectionSort(); {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,140 INFO L290 TraceCheckUtils]: 18: Hoare triple {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {45969#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,143 INFO L290 TraceCheckUtils]: 19: Hoare triple {45969#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45973#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,144 INFO L290 TraceCheckUtils]: 20: Hoare triple {45973#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45977#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:03:27,145 INFO L290 TraceCheckUtils]: 21: Hoare triple {45977#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,145 INFO L290 TraceCheckUtils]: 22: Hoare triple {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,146 INFO L290 TraceCheckUtils]: 23: Hoare triple {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,146 INFO L290 TraceCheckUtils]: 24: Hoare triple {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,147 INFO L290 TraceCheckUtils]: 26: Hoare triple {45981#(and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45997#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:03:27,148 INFO L290 TraceCheckUtils]: 27: Hoare triple {45997#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46001#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:03:27,149 INFO L290 TraceCheckUtils]: 28: Hoare triple {46001#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46005#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:03:27,150 INFO L290 TraceCheckUtils]: 29: Hoare triple {46005#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46009#(and (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:03:27,151 INFO L290 TraceCheckUtils]: 30: Hoare triple {46009#(and (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46013#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:03:27,152 INFO L290 TraceCheckUtils]: 31: Hoare triple {46013#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46017#(and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (< SelectionSort_~rh~0 ~n~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))))))} is VALID [2022-04-28 09:03:27,152 INFO L290 TraceCheckUtils]: 32: Hoare triple {46017#(and (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 1)) (< SelectionSort_~rh~0 ~n~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))))))} assume !(~i~0 < ~n~0); {46021#(and (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))))))} is VALID [2022-04-28 09:03:27,154 INFO L290 TraceCheckUtils]: 33: Hoare triple {46021#(and (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (exists ((v_SelectionSort_~rh~0_451 Int)) (and (< (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_451 4) |~#array~0.offset|))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46025#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,155 INFO L290 TraceCheckUtils]: 34: Hoare triple {46025#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46029#(and (= SelectionSort_~lh~0 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,155 INFO L290 TraceCheckUtils]: 35: Hoare triple {46029#(and (= SelectionSort_~lh~0 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,156 INFO L290 TraceCheckUtils]: 36: Hoare triple {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,157 INFO L290 TraceCheckUtils]: 37: Hoare triple {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,158 INFO L290 TraceCheckUtils]: 38: Hoare triple {46033#(and (= (+ (- 1) SelectionSort_~i~0) 1) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46043#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} is VALID [2022-04-28 09:03:27,159 INFO L290 TraceCheckUtils]: 39: Hoare triple {46043#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46043#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} is VALID [2022-04-28 09:03:27,160 INFO L290 TraceCheckUtils]: 40: Hoare triple {46043#(and (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46050#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} is VALID [2022-04-28 09:03:27,160 INFO L290 TraceCheckUtils]: 41: Hoare triple {46050#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (exists ((SelectionSort_~rh~0 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< SelectionSort_~rh~0 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 1)))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46054#(and (exists ((v_SelectionSort_~rh~0_452 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_452 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_452 4) |~#array~0.offset|))) (< v_SelectionSort_~rh~0_452 ~n~0) (<= ~n~0 (+ v_SelectionSort_~rh~0_452 1)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= 3 (+ (- 1) SelectionSort_~i~0)) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,161 INFO L290 TraceCheckUtils]: 42: Hoare triple {46054#(and (exists ((v_SelectionSort_~rh~0_452 Int)) (and (< (+ (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_452 4) (- 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_452 4) |~#array~0.offset|))) (< v_SelectionSort_~rh~0_452 ~n~0) (<= ~n~0 (+ v_SelectionSort_~rh~0_452 1)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= 3 (+ (- 1) SelectionSort_~i~0)) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46058#(and (< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 43: Hoare triple {46058#(and (< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 44: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 46: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 47: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 48: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 49: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 50: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 51: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 52: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 53: Hoare triple {45812#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {45812#false} is VALID [2022-04-28 09:03:27,162 INFO L290 TraceCheckUtils]: 54: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 55: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 56: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 57: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 58: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 59: Hoare triple {45812#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 60: Hoare triple {45812#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 61: Hoare triple {45812#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 62: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 63: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 64: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 65: Hoare triple {45812#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 66: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 67: Hoare triple {45812#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 68: Hoare triple {45812#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 69: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-28 09:03:27,163 INFO L290 TraceCheckUtils]: 70: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {45812#false} {45916#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #91#return; {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 73: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L272 TraceCheckUtils]: 74: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 75: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 76: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 77: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 80: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 81: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L272 TraceCheckUtils]: 82: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 83: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 84: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-28 09:03:27,164 INFO L290 TraceCheckUtils]: 85: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L290 TraceCheckUtils]: 88: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L290 TraceCheckUtils]: 89: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L272 TraceCheckUtils]: 90: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L290 TraceCheckUtils]: 91: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L290 TraceCheckUtils]: 92: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L290 TraceCheckUtils]: 93: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L290 TraceCheckUtils]: 96: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L290 TraceCheckUtils]: 97: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L272 TraceCheckUtils]: 98: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-28 09:03:27,165 INFO L290 TraceCheckUtils]: 99: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-28 09:03:27,166 INFO L290 TraceCheckUtils]: 100: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-28 09:03:27,166 INFO L290 TraceCheckUtils]: 101: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-28 09:03:27,166 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:27,166 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:27,166 INFO L290 TraceCheckUtils]: 104: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:27,166 INFO L290 TraceCheckUtils]: 105: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:27,166 INFO L272 TraceCheckUtils]: 106: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-28 09:03:27,166 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-28 09:03:27,166 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-28 09:03:27,166 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-28 09:03:27,167 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 118 proven. 71 refuted. 0 times theorem prover too weak. 130 trivial. 0 not checked. [2022-04-28 09:03:27,167 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:03:28,381 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-28 09:03:28,807 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 78 treesize of output 64 [2022-04-28 09:03:28,926 INFO L356 Elim1Store]: treesize reduction 78, result has 41.4 percent of original size [2022-04-28 09:03:28,927 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 0 disjoint index pairs (out of 10 index pairs), introduced 5 new quantified variables, introduced 10 case distinctions, treesize of input 738 treesize of output 705 [2022-04-28 09:03:34,037 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 101 treesize of output 87 [2022-04-28 09:03:34,204 INFO L356 Elim1Store]: treesize reduction 109, result has 56.6 percent of original size [2022-04-28 09:03:34,205 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 1049 treesize of output 1048 [2022-04-28 09:03:48,476 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-28 09:03:48,477 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-28 09:03:48,477 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-28 09:03:48,477 INFO L272 TraceCheckUtils]: 106: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45812#false} is VALID [2022-04-28 09:03:48,477 INFO L290 TraceCheckUtils]: 105: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:48,477 INFO L290 TraceCheckUtils]: 104: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:48,477 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:48,477 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:48,477 INFO L290 TraceCheckUtils]: 101: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:48,477 INFO L290 TraceCheckUtils]: 100: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:48,477 INFO L290 TraceCheckUtils]: 99: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:48,477 INFO L272 TraceCheckUtils]: 98: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 97: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 96: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:48,478 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 93: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 92: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 91: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:48,478 INFO L272 TraceCheckUtils]: 90: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 89: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 88: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:48,478 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 85: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 84: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:48,478 INFO L290 TraceCheckUtils]: 83: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:48,479 INFO L272 TraceCheckUtils]: 82: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-28 09:03:48,479 INFO L290 TraceCheckUtils]: 81: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:48,479 INFO L290 TraceCheckUtils]: 80: Hoare triple {45812#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {45812#false} is VALID [2022-04-28 09:03:48,479 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-28 09:03:48,479 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-28 09:03:48,479 INFO L290 TraceCheckUtils]: 77: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-28 09:03:48,479 INFO L290 TraceCheckUtils]: 76: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-28 09:03:48,479 INFO L290 TraceCheckUtils]: 75: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-28 09:03:48,479 INFO L272 TraceCheckUtils]: 74: Hoare triple {45812#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {45811#true} is VALID [2022-04-28 09:03:48,479 INFO L290 TraceCheckUtils]: 73: Hoare triple {45812#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {45812#false} is VALID [2022-04-28 09:03:48,479 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-28 09:03:48,480 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #91#return; {45812#false} is VALID [2022-04-28 09:03:48,480 INFO L290 TraceCheckUtils]: 70: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume true; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,481 INFO L290 TraceCheckUtils]: 69: Hoare triple {46385#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (< SelectionSort_~lh~0 ~n~0) (not (<= ~n~0 5)))} assume !(~lh~0 < ~n~0); {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,481 INFO L290 TraceCheckUtils]: 68: Hoare triple {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46385#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (< SelectionSort_~lh~0 ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,482 INFO L290 TraceCheckUtils]: 67: Hoare triple {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,482 INFO L290 TraceCheckUtils]: 66: Hoare triple {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,483 INFO L290 TraceCheckUtils]: 65: Hoare triple {46399#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< SelectionSort_~lh~0 ~n~0)) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,483 INFO L290 TraceCheckUtils]: 64: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46399#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< SelectionSort_~lh~0 ~n~0)) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,484 INFO L290 TraceCheckUtils]: 63: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,484 INFO L290 TraceCheckUtils]: 62: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,485 INFO L290 TraceCheckUtils]: 61: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,485 INFO L290 TraceCheckUtils]: 60: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,485 INFO L290 TraceCheckUtils]: 59: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,486 INFO L290 TraceCheckUtils]: 58: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,486 INFO L290 TraceCheckUtils]: 57: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,487 INFO L290 TraceCheckUtils]: 56: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,487 INFO L290 TraceCheckUtils]: 55: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,488 INFO L290 TraceCheckUtils]: 54: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,488 INFO L290 TraceCheckUtils]: 53: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,489 INFO L290 TraceCheckUtils]: 52: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,489 INFO L290 TraceCheckUtils]: 51: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,489 INFO L290 TraceCheckUtils]: 50: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,490 INFO L290 TraceCheckUtils]: 49: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,490 INFO L290 TraceCheckUtils]: 48: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,491 INFO L290 TraceCheckUtils]: 47: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,491 INFO L290 TraceCheckUtils]: 46: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,492 INFO L290 TraceCheckUtils]: 45: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,492 INFO L290 TraceCheckUtils]: 44: Hoare triple {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,493 INFO L290 TraceCheckUtils]: 43: Hoare triple {46466#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46378#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,493 INFO L290 TraceCheckUtils]: 42: Hoare triple {46470#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46466#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,494 INFO L290 TraceCheckUtils]: 41: Hoare triple {46474#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46470#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,495 INFO L290 TraceCheckUtils]: 40: Hoare triple {46478#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46474#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,495 INFO L290 TraceCheckUtils]: 39: Hoare triple {46478#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46478#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,496 INFO L290 TraceCheckUtils]: 38: Hoare triple {46485#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46478#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,497 INFO L290 TraceCheckUtils]: 37: Hoare triple {46485#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46485#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,498 INFO L290 TraceCheckUtils]: 36: Hoare triple {46485#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46485#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,498 INFO L290 TraceCheckUtils]: 35: Hoare triple {46495#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46485#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,499 INFO L290 TraceCheckUtils]: 34: Hoare triple {46499#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46495#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,500 INFO L290 TraceCheckUtils]: 33: Hoare triple {46503#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46499#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,501 INFO L290 TraceCheckUtils]: 32: Hoare triple {46507#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< SelectionSort_~i~0 ~n~0) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46503#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,502 INFO L290 TraceCheckUtils]: 31: Hoare triple {46511#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46507#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< SelectionSort_~i~0 ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,503 INFO L290 TraceCheckUtils]: 30: Hoare triple {46515#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46511#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,504 INFO L290 TraceCheckUtils]: 29: Hoare triple {46519#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< SelectionSort_~i~0 ~n~0)) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46515#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,507 INFO L290 TraceCheckUtils]: 28: Hoare triple {46523#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 2) ~n~0) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46519#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< SelectionSort_~i~0 ~n~0)) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,507 INFO L290 TraceCheckUtils]: 27: Hoare triple {46527#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 2) ~n~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (< ~n~0 2) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46523#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 2) ~n~0) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:03:48,509 INFO L290 TraceCheckUtils]: 26: Hoare triple {46531#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (< ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46527#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int)) (or (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 2) ~n~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (< ~n~0 2) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:03:48,510 INFO L290 TraceCheckUtils]: 25: Hoare triple {46531#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (< ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46531#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (< ~n~0 2))} is VALID [2022-04-28 09:03:48,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {46531#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (< ~n~0 2))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {46531#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (< ~n~0 2))} is VALID [2022-04-28 09:03:48,512 INFO L290 TraceCheckUtils]: 23: Hoare triple {46531#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (< ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46531#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (< ~n~0 2))} is VALID [2022-04-28 09:03:48,513 INFO L290 TraceCheckUtils]: 22: Hoare triple {46531#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (< ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46531#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (< ~n~0 2))} is VALID [2022-04-28 09:03:48,514 INFO L290 TraceCheckUtils]: 21: Hoare triple {46547#(or (forall ((v_ArrVal_1462 Int) (v_SelectionSort_~i~0_541 Int) (v_ArrVal_1463 Int)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4) 4) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4) 4) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (+ v_SelectionSort_~i~0_541 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ v_SelectionSort_~i~0_541 1)))) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (< ~n~0 2))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {46531#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (forall ((v_ArrVal_1462 Int) (v_ArrVal_1463 Int) (SelectionSort_~i~0 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))) (< ~n~0 2))} is VALID [2022-04-28 09:03:48,516 INFO L290 TraceCheckUtils]: 20: Hoare triple {46551#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (<= ~n~0 (+ SelectionSort_~rh~0 2))) (or (<= ~n~0 (+ SelectionSort_~rh~0 2)) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (or (<= (+ 5 SelectionSort_~lh~0) ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 2))) (<= (+ SelectionSort_~rh~0 2) ~n~0)) (< ~n~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {46547#(or (forall ((v_ArrVal_1462 Int) (v_SelectionSort_~i~0_541 Int) (v_ArrVal_1463 Int)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4) 4) v_ArrVal_1463) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1462) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_541 4) 4) v_ArrVal_1463) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (< (+ v_SelectionSort_~i~0_541 2) ~n~0) (< v_ArrVal_1463 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= ~n~0 (+ v_SelectionSort_~i~0_541 1)))) (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (< ~n~0 2))} is VALID [2022-04-28 09:03:48,517 INFO L290 TraceCheckUtils]: 19: Hoare triple {46555#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (or (<= (+ 5 SelectionSort_~lh~0) ~n~0) (<= ~n~0 (+ SelectionSort_~lh~0 2))) (<= (+ SelectionSort_~lh~0 2) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (< ~n~0 2))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46551#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (<= ~n~0 (+ SelectionSort_~rh~0 2))) (or (<= ~n~0 (+ SelectionSort_~rh~0 2)) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (or (<= (+ 5 SelectionSort_~lh~0) ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 2))) (<= (+ SelectionSort_~rh~0 2) ~n~0)) (< ~n~0 2))} is VALID [2022-04-28 09:03:48,517 INFO L290 TraceCheckUtils]: 18: Hoare triple {45811#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {46555#(or (and (not (<= 5 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (or (<= (+ 5 SelectionSort_~lh~0) ~n~0) (<= ~n~0 (+ SelectionSort_~lh~0 2))) (<= (+ SelectionSort_~lh~0 2) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (< ~n~0 2))} is VALID [2022-04-28 09:03:48,517 INFO L272 TraceCheckUtils]: 17: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} call SelectionSort(); {45811#true} is VALID [2022-04-28 09:03:48,518 INFO L290 TraceCheckUtils]: 16: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !(~i~1 >= 0); {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,519 INFO L290 TraceCheckUtils]: 13: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,519 INFO L290 TraceCheckUtils]: 12: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,520 INFO L290 TraceCheckUtils]: 11: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,520 INFO L290 TraceCheckUtils]: 10: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,521 INFO L290 TraceCheckUtils]: 8: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,521 INFO L290 TraceCheckUtils]: 7: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,521 INFO L290 TraceCheckUtils]: 6: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,522 INFO L272 TraceCheckUtils]: 4: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} call #t~ret10 := main(); {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,522 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} {45811#true} #95#return; {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,523 INFO L290 TraceCheckUtils]: 2: Hoare triple {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume true; {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,523 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {46374#(and (or (<= ~n~0 2) (<= 5 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-28 09:03:48,523 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45811#true} is VALID [2022-04-28 09:03:48,524 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 113 proven. 92 refuted. 0 times theorem prover too weak. 114 trivial. 0 not checked. [2022-04-28 09:03:48,524 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [426136909] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:03:48,524 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:03:48,524 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 22, 25] total 69 [2022-04-28 09:03:48,524 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:03:48,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [359423332] [2022-04-28 09:03:48,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [359423332] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:03:48,525 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:03:48,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-28 09:03:48,525 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1135504745] [2022-04-28 09:03:48,525 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:03:48,525 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:03:48,525 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:03:48,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:03:48,569 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:03:48,569 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-28 09:03:48,569 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:03:48,569 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-28 09:03:48,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=408, Invalid=4284, Unknown=0, NotChecked=0, Total=4692 [2022-04-28 09:03:48,570 INFO L87 Difference]: Start difference. First operand 563 states and 767 transitions. Second operand has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:04:05,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:04:05,420 INFO L93 Difference]: Finished difference Result 1276 states and 1722 transitions. [2022-04-28 09:04:05,420 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 73 states. [2022-04-28 09:04:05,421 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:04:05,421 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:04:05,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:04:05,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 193 transitions. [2022-04-28 09:04:05,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:04:05,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 193 transitions. [2022-04-28 09:04:05,424 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 193 transitions. [2022-04-28 09:04:05,672 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 193 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:04:05,710 INFO L225 Difference]: With dead ends: 1276 [2022-04-28 09:04:05,710 INFO L226 Difference]: Without dead ends: 954 [2022-04-28 09:04:05,712 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 332 GetRequests, 195 SyntacticMatches, 1 SemanticMatches, 136 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5575 ImplicationChecksByTransitivity, 7.8s TimeCoverageRelationStatistics Valid=1857, Invalid=17049, Unknown=0, NotChecked=0, Total=18906 [2022-04-28 09:04:05,712 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 194 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 860 mSolverCounterSat, 281 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 195 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 1141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 281 IncrementalHoareTripleChecker+Valid, 860 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 09:04:05,712 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [195 Valid, 31 Invalid, 1141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [281 Valid, 860 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 09:04:05,713 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 954 states. [2022-04-28 09:04:11,040 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 954 to 611. [2022-04-28 09:04:11,041 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:04:11,041 INFO L82 GeneralOperation]: Start isEquivalent. First operand 954 states. Second operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:04:11,042 INFO L74 IsIncluded]: Start isIncluded. First operand 954 states. Second operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:04:11,042 INFO L87 Difference]: Start difference. First operand 954 states. Second operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:04:11,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:04:11,067 INFO L93 Difference]: Finished difference Result 954 states and 1279 transitions. [2022-04-28 09:04:11,067 INFO L276 IsEmpty]: Start isEmpty. Operand 954 states and 1279 transitions. [2022-04-28 09:04:11,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:04:11,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:04:11,068 INFO L74 IsIncluded]: Start isIncluded. First operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 954 states. [2022-04-28 09:04:11,068 INFO L87 Difference]: Start difference. First operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 954 states. [2022-04-28 09:04:11,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:04:11,094 INFO L93 Difference]: Finished difference Result 954 states and 1279 transitions. [2022-04-28 09:04:11,094 INFO L276 IsEmpty]: Start isEmpty. Operand 954 states and 1279 transitions. [2022-04-28 09:04:11,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:04:11,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:04:11,095 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:04:11,095 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:04:11,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 611 states, 595 states have (on average 1.3714285714285714) internal successors, (816), 596 states have internal predecessors, (816), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:04:11,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 611 states to 611 states and 831 transitions. [2022-04-28 09:04:11,116 INFO L78 Accepts]: Start accepts. Automaton has 611 states and 831 transitions. Word has length 110 [2022-04-28 09:04:11,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:04:11,117 INFO L495 AbstractCegarLoop]: Abstraction has 611 states and 831 transitions. [2022-04-28 09:04:11,117 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 26 states have (on average 2.0) internal successors, (52), 24 states have internal predecessors, (52), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:04:11,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 611 states and 831 transitions. [2022-04-28 09:04:14,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 831 edges. 831 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:04:14,348 INFO L276 IsEmpty]: Start isEmpty. Operand 611 states and 831 transitions. [2022-04-28 09:04:14,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 09:04:14,349 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:04:14,349 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:04:14,366 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (30)] Forceful destruction successful, exit code 0 [2022-04-28 09:04:14,551 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30,30 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:04:14,551 INFO L420 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:04:14,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:04:14,552 INFO L85 PathProgramCache]: Analyzing trace with hash -412973256, now seen corresponding path program 13 times [2022-04-28 09:04:14,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:04:14,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [932072631] [2022-04-28 09:04:14,554 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:04:14,554 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:04:14,554 INFO L85 PathProgramCache]: Analyzing trace with hash -412973256, now seen corresponding path program 14 times [2022-04-28 09:04:14,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:04:14,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [318791372] [2022-04-28 09:04:14,555 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:04:14,555 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:04:14,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:14,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:04:14,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:14,642 INFO L290 TraceCheckUtils]: 0: Hoare triple {52510#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:14,642 INFO L290 TraceCheckUtils]: 1: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:14,643 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {52434#true} #95#return; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:14,645 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:04:14,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:15,140 INFO L290 TraceCheckUtils]: 0: Hoare triple {52511#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {52434#true} is VALID [2022-04-28 09:04:15,141 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:04:15,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:04:15,142 INFO L290 TraceCheckUtils]: 3: Hoare triple {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52513#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:04:15,142 INFO L290 TraceCheckUtils]: 4: Hoare triple {52513#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52514#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:04:15,143 INFO L290 TraceCheckUtils]: 5: Hoare triple {52514#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52515#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} is VALID [2022-04-28 09:04:15,144 INFO L290 TraceCheckUtils]: 6: Hoare triple {52515#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52516#(and (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:04:15,145 INFO L290 TraceCheckUtils]: 7: Hoare triple {52516#(and (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:04:15,145 INFO L290 TraceCheckUtils]: 8: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:04:15,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:04:15,146 INFO L290 TraceCheckUtils]: 10: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:04:15,147 INFO L290 TraceCheckUtils]: 11: Hoare triple {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:04:15,147 INFO L290 TraceCheckUtils]: 12: Hoare triple {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52519#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:04:15,148 INFO L290 TraceCheckUtils]: 13: Hoare triple {52519#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52520#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:04:15,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {52520#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} assume !(~i~0 < ~n~0); {52521#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:04:15,150 INFO L290 TraceCheckUtils]: 15: Hoare triple {52521#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52522#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:04:15,151 INFO L290 TraceCheckUtils]: 16: Hoare triple {52522#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52523#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:04:15,152 INFO L290 TraceCheckUtils]: 17: Hoare triple {52523#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52524#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:04:15,152 INFO L290 TraceCheckUtils]: 18: Hoare triple {52524#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52525#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:04:15,153 INFO L290 TraceCheckUtils]: 19: Hoare triple {52525#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52526#(<= ~n~0 (+ SelectionSort_~i~0 2))} is VALID [2022-04-28 09:04:15,153 INFO L290 TraceCheckUtils]: 20: Hoare triple {52526#(<= ~n~0 (+ SelectionSort_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-28 09:04:15,153 INFO L290 TraceCheckUtils]: 21: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-28 09:04:15,154 INFO L290 TraceCheckUtils]: 22: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-28 09:04:15,154 INFO L290 TraceCheckUtils]: 23: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52528#(<= ~n~0 SelectionSort_~i~0)} is VALID [2022-04-28 09:04:15,154 INFO L290 TraceCheckUtils]: 24: Hoare triple {52528#(<= ~n~0 SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 25: Hoare triple {52435#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 26: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 27: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 28: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 29: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 30: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 31: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 32: Hoare triple {52435#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 33: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 34: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 35: Hoare triple {52435#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 36: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 37: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-28 09:04:15,155 INFO L290 TraceCheckUtils]: 38: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 39: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 40: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 41: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 42: Hoare triple {52435#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 43: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 44: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 45: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 46: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 47: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 48: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 49: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 50: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 51: Hoare triple {52435#false} assume !(~lh~0 < ~n~0); {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L290 TraceCheckUtils]: 52: Hoare triple {52435#false} assume true; {52435#false} is VALID [2022-04-28 09:04:15,156 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {52435#false} {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {52435#false} is VALID [2022-04-28 09:04:15,157 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:04:15,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:15,159 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-28 09:04:15,159 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-28 09:04:15,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-28 09:04:15,159 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-28 09:04:15,159 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:04:15,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:15,161 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-28 09:04:15,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-28 09:04:15,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-28 09:04:15,161 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-28 09:04:15,161 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:04:15,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:15,163 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-28 09:04:15,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-28 09:04:15,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-28 09:04:15,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-28 09:04:15,163 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-28 09:04:15,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:15,165 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-28 09:04:15,165 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-28 09:04:15,165 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-28 09:04:15,165 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-28 09:04:15,166 INFO L272 TraceCheckUtils]: 0: Hoare triple {52434#true} call ULTIMATE.init(); {52510#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:04:15,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {52510#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,167 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {52434#true} #95#return; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,167 INFO L272 TraceCheckUtils]: 4: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,168 INFO L290 TraceCheckUtils]: 5: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,168 INFO L290 TraceCheckUtils]: 6: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,169 INFO L290 TraceCheckUtils]: 7: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,169 INFO L290 TraceCheckUtils]: 8: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,169 INFO L290 TraceCheckUtils]: 9: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,170 INFO L290 TraceCheckUtils]: 10: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,170 INFO L290 TraceCheckUtils]: 12: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,171 INFO L290 TraceCheckUtils]: 13: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,171 INFO L290 TraceCheckUtils]: 14: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,172 INFO L290 TraceCheckUtils]: 15: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,172 INFO L290 TraceCheckUtils]: 16: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:15,172 INFO L272 TraceCheckUtils]: 17: Hoare triple {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {52511#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:04:15,172 INFO L290 TraceCheckUtils]: 18: Hoare triple {52511#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {52434#true} is VALID [2022-04-28 09:04:15,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {52434#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:04:15,173 INFO L290 TraceCheckUtils]: 20: Hoare triple {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:04:15,174 INFO L290 TraceCheckUtils]: 21: Hoare triple {52512#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52513#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:04:15,174 INFO L290 TraceCheckUtils]: 22: Hoare triple {52513#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52514#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:04:15,175 INFO L290 TraceCheckUtils]: 23: Hoare triple {52514#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52515#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} is VALID [2022-04-28 09:04:15,176 INFO L290 TraceCheckUtils]: 24: Hoare triple {52515#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52516#(and (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))))} is VALID [2022-04-28 09:04:15,176 INFO L290 TraceCheckUtils]: 25: Hoare triple {52516#(and (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:04:15,177 INFO L290 TraceCheckUtils]: 26: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:04:15,177 INFO L290 TraceCheckUtils]: 27: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:04:15,178 INFO L290 TraceCheckUtils]: 28: Hoare triple {52517#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:04:15,179 INFO L290 TraceCheckUtils]: 29: Hoare triple {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:04:15,179 INFO L290 TraceCheckUtils]: 30: Hoare triple {52518#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52519#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:04:15,180 INFO L290 TraceCheckUtils]: 31: Hoare triple {52519#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52520#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:04:15,181 INFO L290 TraceCheckUtils]: 32: Hoare triple {52520#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))))} assume !(~i~0 < ~n~0); {52521#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:04:15,182 INFO L290 TraceCheckUtils]: 33: Hoare triple {52521#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52522#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:04:15,183 INFO L290 TraceCheckUtils]: 34: Hoare triple {52522#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52523#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:04:15,184 INFO L290 TraceCheckUtils]: 35: Hoare triple {52523#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (< ~n~0 (+ SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52524#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:04:15,184 INFO L290 TraceCheckUtils]: 36: Hoare triple {52524#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52525#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:04:15,184 INFO L290 TraceCheckUtils]: 37: Hoare triple {52525#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52526#(<= ~n~0 (+ SelectionSort_~i~0 2))} is VALID [2022-04-28 09:04:15,185 INFO L290 TraceCheckUtils]: 38: Hoare triple {52526#(<= ~n~0 (+ SelectionSort_~i~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-28 09:04:15,185 INFO L290 TraceCheckUtils]: 39: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-28 09:04:15,185 INFO L290 TraceCheckUtils]: 40: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} is VALID [2022-04-28 09:04:15,186 INFO L290 TraceCheckUtils]: 41: Hoare triple {52527#(<= ~n~0 (+ SelectionSort_~i~0 1))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52528#(<= ~n~0 SelectionSort_~i~0)} is VALID [2022-04-28 09:04:15,186 INFO L290 TraceCheckUtils]: 42: Hoare triple {52528#(<= ~n~0 SelectionSort_~i~0)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,186 INFO L290 TraceCheckUtils]: 43: Hoare triple {52435#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52435#false} is VALID [2022-04-28 09:04:15,186 INFO L290 TraceCheckUtils]: 44: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-28 09:04:15,186 INFO L290 TraceCheckUtils]: 45: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-28 09:04:15,186 INFO L290 TraceCheckUtils]: 46: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 47: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 48: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 49: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 50: Hoare triple {52435#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 51: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 52: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 53: Hoare triple {52435#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 54: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 55: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 56: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 57: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 58: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 59: Hoare triple {52435#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 60: Hoare triple {52435#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52435#false} is VALID [2022-04-28 09:04:15,187 INFO L290 TraceCheckUtils]: 61: Hoare triple {52435#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 62: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 63: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 64: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 65: Hoare triple {52435#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 66: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 67: Hoare triple {52435#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 68: Hoare triple {52435#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 69: Hoare triple {52435#false} assume !(~lh~0 < ~n~0); {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 70: Hoare triple {52435#false} assume true; {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {52435#false} {52439#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 72: Hoare triple {52435#false} ~i~1 := 0; {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 73: Hoare triple {52435#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52435#false} is VALID [2022-04-28 09:04:15,188 INFO L272 TraceCheckUtils]: 74: Hoare triple {52435#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52434#true} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 75: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-28 09:04:15,188 INFO L290 TraceCheckUtils]: 76: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 77: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-28 09:04:15,189 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 79: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 80: Hoare triple {52435#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52435#false} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 81: Hoare triple {52435#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52435#false} is VALID [2022-04-28 09:04:15,189 INFO L272 TraceCheckUtils]: 82: Hoare triple {52435#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52434#true} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 83: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 84: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 85: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-28 09:04:15,189 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 87: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 88: Hoare triple {52435#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52435#false} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 89: Hoare triple {52435#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52435#false} is VALID [2022-04-28 09:04:15,189 INFO L272 TraceCheckUtils]: 90: Hoare triple {52435#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52434#true} is VALID [2022-04-28 09:04:15,189 INFO L290 TraceCheckUtils]: 91: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 92: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 93: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-28 09:04:15,190 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 95: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 96: Hoare triple {52435#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52435#false} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 97: Hoare triple {52435#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52435#false} is VALID [2022-04-28 09:04:15,190 INFO L272 TraceCheckUtils]: 98: Hoare triple {52435#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52434#true} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 99: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 100: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 101: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-28 09:04:15,190 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 103: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 104: Hoare triple {52435#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52435#false} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 105: Hoare triple {52435#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52435#false} is VALID [2022-04-28 09:04:15,190 INFO L272 TraceCheckUtils]: 106: Hoare triple {52435#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52435#false} is VALID [2022-04-28 09:04:15,190 INFO L290 TraceCheckUtils]: 107: Hoare triple {52435#false} ~cond := #in~cond; {52435#false} is VALID [2022-04-28 09:04:15,191 INFO L290 TraceCheckUtils]: 108: Hoare triple {52435#false} assume 0 == ~cond; {52435#false} is VALID [2022-04-28 09:04:15,191 INFO L290 TraceCheckUtils]: 109: Hoare triple {52435#false} assume !false; {52435#false} is VALID [2022-04-28 09:04:15,191 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 134 proven. 53 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-28 09:04:15,191 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:04:15,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [318791372] [2022-04-28 09:04:15,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [318791372] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:04:15,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [370827167] [2022-04-28 09:04:15,191 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:04:15,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:04:15,192 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:04:15,193 INFO L229 MonitoredProcess]: Starting monitored process 31 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:04:15,193 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Waiting until timeout for monitored process [2022-04-28 09:04:15,338 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:04:15,338 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:04:15,340 INFO L263 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 09:04:15,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:15,362 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:04:15,419 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 09:04:15,420 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-28 09:04:15,454 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-28 09:04:15,534 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:04:15,534 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:04:15,599 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:04:15,599 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:04:15,665 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:04:15,666 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:04:15,745 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:04:15,746 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:04:16,231 INFO L390 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 16 treesize of output 18 [2022-04-28 09:04:17,641 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-28 09:04:17,642 INFO L390 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 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-28 09:04:17,726 INFO L272 TraceCheckUtils]: 0: Hoare triple {52434#true} call ULTIMATE.init(); {52434#true} is VALID [2022-04-28 09:04:17,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:04:17,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:04:17,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {52434#true} #95#return; {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:04:17,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:04:17,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {52535#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {52548#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:17,729 INFO L290 TraceCheckUtils]: 6: Hoare triple {52548#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52552#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:04:17,729 INFO L290 TraceCheckUtils]: 7: Hoare triple {52552#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52556#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:17,730 INFO L290 TraceCheckUtils]: 8: Hoare triple {52556#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52556#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:17,730 INFO L290 TraceCheckUtils]: 9: Hoare triple {52556#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52563#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:17,731 INFO L290 TraceCheckUtils]: 10: Hoare triple {52563#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52563#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:17,731 INFO L290 TraceCheckUtils]: 11: Hoare triple {52563#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-28 09:04:17,732 INFO L290 TraceCheckUtils]: 12: Hoare triple {52570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-28 09:04:17,732 INFO L290 TraceCheckUtils]: 13: Hoare triple {52570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52577#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} is VALID [2022-04-28 09:04:17,733 INFO L290 TraceCheckUtils]: 14: Hoare triple {52577#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:17,733 INFO L290 TraceCheckUtils]: 15: Hoare triple {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:17,734 INFO L290 TraceCheckUtils]: 16: Hoare triple {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:17,734 INFO L272 TraceCheckUtils]: 17: Hoare triple {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,735 INFO L290 TraceCheckUtils]: 18: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,735 INFO L290 TraceCheckUtils]: 19: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,735 INFO L290 TraceCheckUtils]: 20: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,736 INFO L290 TraceCheckUtils]: 21: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,736 INFO L290 TraceCheckUtils]: 22: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,736 INFO L290 TraceCheckUtils]: 23: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,737 INFO L290 TraceCheckUtils]: 24: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,737 INFO L290 TraceCheckUtils]: 26: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,738 INFO L290 TraceCheckUtils]: 27: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,738 INFO L290 TraceCheckUtils]: 28: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,738 INFO L290 TraceCheckUtils]: 29: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,739 INFO L290 TraceCheckUtils]: 30: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,739 INFO L290 TraceCheckUtils]: 31: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,739 INFO L290 TraceCheckUtils]: 32: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:17,740 INFO L290 TraceCheckUtils]: 33: Hoare triple {52591#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,741 INFO L290 TraceCheckUtils]: 34: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,741 INFO L290 TraceCheckUtils]: 35: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,742 INFO L290 TraceCheckUtils]: 36: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,742 INFO L290 TraceCheckUtils]: 37: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,743 INFO L290 TraceCheckUtils]: 38: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,743 INFO L290 TraceCheckUtils]: 39: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,744 INFO L290 TraceCheckUtils]: 40: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,744 INFO L290 TraceCheckUtils]: 41: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,745 INFO L290 TraceCheckUtils]: 42: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,745 INFO L290 TraceCheckUtils]: 43: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,746 INFO L290 TraceCheckUtils]: 44: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,746 INFO L290 TraceCheckUtils]: 45: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(~i~0 < ~n~0); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,748 WARN L290 TraceCheckUtils]: 46: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is UNKNOWN [2022-04-28 09:04:17,748 INFO L290 TraceCheckUtils]: 47: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,749 INFO L290 TraceCheckUtils]: 48: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,749 INFO L290 TraceCheckUtils]: 49: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,750 INFO L290 TraceCheckUtils]: 50: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,750 INFO L290 TraceCheckUtils]: 51: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,751 INFO L290 TraceCheckUtils]: 52: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,751 INFO L290 TraceCheckUtils]: 53: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,752 INFO L290 TraceCheckUtils]: 54: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,752 INFO L290 TraceCheckUtils]: 55: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(~i~0 < ~n~0); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,753 WARN L290 TraceCheckUtils]: 56: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is UNKNOWN [2022-04-28 09:04:17,754 INFO L290 TraceCheckUtils]: 57: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,754 INFO L290 TraceCheckUtils]: 58: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,755 INFO L290 TraceCheckUtils]: 59: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,755 INFO L290 TraceCheckUtils]: 60: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,756 INFO L290 TraceCheckUtils]: 61: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,756 INFO L290 TraceCheckUtils]: 62: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(~i~0 < ~n~0); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,758 WARN L290 TraceCheckUtils]: 63: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is UNKNOWN [2022-04-28 09:04:17,758 INFO L290 TraceCheckUtils]: 64: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,759 INFO L290 TraceCheckUtils]: 65: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,759 INFO L290 TraceCheckUtils]: 66: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(~i~0 < ~n~0); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,761 WARN L290 TraceCheckUtils]: 67: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is UNKNOWN [2022-04-28 09:04:17,761 INFO L290 TraceCheckUtils]: 68: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,762 INFO L290 TraceCheckUtils]: 69: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume !(~lh~0 < ~n~0); {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,762 INFO L290 TraceCheckUtils]: 70: Hoare triple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} assume true; {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} is VALID [2022-04-28 09:04:17,763 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {52640#(and (= 3 |~#array~0.base|) (exists ((v_ArrVal_1550 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1550))))} {52581#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #91#return; {52755#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:17,763 INFO L290 TraceCheckUtils]: 72: Hoare triple {52755#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:04:17,764 INFO L290 TraceCheckUtils]: 73: Hoare triple {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:04:17,764 INFO L272 TraceCheckUtils]: 74: Hoare triple {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,765 INFO L290 TraceCheckUtils]: 75: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} ~cond := #in~cond; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,765 INFO L290 TraceCheckUtils]: 76: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume !(0 == ~cond); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,765 INFO L290 TraceCheckUtils]: 77: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume true; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,766 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:04:17,766 INFO L290 TraceCheckUtils]: 79: Hoare triple {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:04:17,767 INFO L290 TraceCheckUtils]: 80: Hoare triple {52759#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:04:17,767 INFO L290 TraceCheckUtils]: 81: Hoare triple {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:04:17,768 INFO L272 TraceCheckUtils]: 82: Hoare triple {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,768 INFO L290 TraceCheckUtils]: 83: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} ~cond := #in~cond; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,769 INFO L290 TraceCheckUtils]: 84: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume !(0 == ~cond); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,769 INFO L290 TraceCheckUtils]: 85: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume true; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,769 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #93#return; {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:04:17,770 INFO L290 TraceCheckUtils]: 87: Hoare triple {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} havoc #t~mem9; {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:04:17,786 INFO L290 TraceCheckUtils]: 88: Hoare triple {52785#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:04:17,786 INFO L290 TraceCheckUtils]: 89: Hoare triple {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:04:17,787 INFO L272 TraceCheckUtils]: 90: Hoare triple {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,787 INFO L290 TraceCheckUtils]: 91: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} ~cond := #in~cond; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,788 INFO L290 TraceCheckUtils]: 92: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume !(0 == ~cond); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,788 INFO L290 TraceCheckUtils]: 93: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume true; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,789 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #93#return; {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:04:17,789 INFO L290 TraceCheckUtils]: 95: Hoare triple {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} havoc #t~mem9; {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:04:17,790 INFO L290 TraceCheckUtils]: 96: Hoare triple {52810#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:04:17,790 INFO L290 TraceCheckUtils]: 97: Hoare triple {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:04:17,791 INFO L272 TraceCheckUtils]: 98: Hoare triple {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,791 INFO L290 TraceCheckUtils]: 99: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} ~cond := #in~cond; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,791 INFO L290 TraceCheckUtils]: 100: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume !(0 == ~cond); {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,792 INFO L290 TraceCheckUtils]: 101: Hoare triple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} assume true; {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} is VALID [2022-04-28 09:04:17,792 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {52766#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_27| Int) (|v_main_~#array~1.base_BEFORE_CALL_27| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_27|)) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_27|) (+ |v_main_~#array~1.offset_BEFORE_CALL_27| 16)) 4)))} {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} #93#return; {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:04:17,793 INFO L290 TraceCheckUtils]: 103: Hoare triple {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} havoc #t~mem9; {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:04:17,793 INFO L290 TraceCheckUtils]: 104: Hoare triple {52835#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 2 (+ (- 1) main_~i~1)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {52860#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:17,794 INFO L290 TraceCheckUtils]: 105: Hoare triple {52860#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {52864#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} is VALID [2022-04-28 09:04:17,794 INFO L272 TraceCheckUtils]: 106: Hoare triple {52864#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {52868#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:04:17,794 INFO L290 TraceCheckUtils]: 107: Hoare triple {52868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {52872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:04:17,795 INFO L290 TraceCheckUtils]: 108: Hoare triple {52872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {52435#false} is VALID [2022-04-28 09:04:17,795 INFO L290 TraceCheckUtils]: 109: Hoare triple {52435#false} assume !false; {52435#false} is VALID [2022-04-28 09:04:17,795 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 9 proven. 163 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-28 09:04:17,795 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:04:18,141 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1561 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1561) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 16)) 4)) is different from false [2022-04-28 09:04:18,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [370827167] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:04:18,142 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:04:18,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-28 09:04:18,142 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:04:18,142 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [932072631] [2022-04-28 09:04:18,142 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [932072631] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:04:18,142 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:04:18,142 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 09:04:18,142 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1544167515] [2022-04-28 09:04:18,143 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:04:18,143 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:04:18,143 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:04:18,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:04:18,183 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:04:18,183 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 09:04:18,183 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:04:18,183 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 09:04:18,183 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=197, Invalid=2149, Unknown=10, NotChecked=94, Total=2450 [2022-04-28 09:04:18,184 INFO L87 Difference]: Start difference. First operand 611 states and 831 transitions. Second operand has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:04:33,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:04:33,169 INFO L93 Difference]: Finished difference Result 1355 states and 1832 transitions. [2022-04-28 09:04:33,169 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 57 states. [2022-04-28 09:04:33,169 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:04:33,169 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:04:33,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:04:33,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 179 transitions. [2022-04-28 09:04:33,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:04:33,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 179 transitions. [2022-04-28 09:04:33,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 179 transitions. [2022-04-28 09:04:33,367 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 179 edges. 179 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:04:33,401 INFO L225 Difference]: With dead ends: 1355 [2022-04-28 09:04:33,402 INFO L226 Difference]: Without dead ends: 973 [2022-04-28 09:04:33,403 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 236 GetRequests, 122 SyntacticMatches, 12 SemanticMatches, 102 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 3126 ImplicationChecksByTransitivity, 3.6s TimeCoverageRelationStatistics Valid=1312, Invalid=9188, Unknown=10, NotChecked=202, Total=10712 [2022-04-28 09:04:33,403 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 288 mSDsluCounter, 11 mSDsCounter, 0 mSdLazyCounter, 466 mSolverCounterSat, 251 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 288 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 717 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 251 IncrementalHoareTripleChecker+Valid, 466 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 09:04:33,403 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [288 Valid, 31 Invalid, 717 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [251 Valid, 466 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 09:04:33,404 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 973 states. [2022-04-28 09:04:42,140 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 973 to 824. [2022-04-28 09:04:42,141 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:04:42,142 INFO L82 GeneralOperation]: Start isEquivalent. First operand 973 states. Second operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:04:42,142 INFO L74 IsIncluded]: Start isIncluded. First operand 973 states. Second operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:04:42,143 INFO L87 Difference]: Start difference. First operand 973 states. Second operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:04:42,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:04:42,167 INFO L93 Difference]: Finished difference Result 973 states and 1291 transitions. [2022-04-28 09:04:42,167 INFO L276 IsEmpty]: Start isEmpty. Operand 973 states and 1291 transitions. [2022-04-28 09:04:42,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:04:42,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:04:42,168 INFO L74 IsIncluded]: Start isIncluded. First operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 973 states. [2022-04-28 09:04:42,168 INFO L87 Difference]: Start difference. First operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 973 states. [2022-04-28 09:04:42,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:04:42,193 INFO L93 Difference]: Finished difference Result 973 states and 1291 transitions. [2022-04-28 09:04:42,193 INFO L276 IsEmpty]: Start isEmpty. Operand 973 states and 1291 transitions. [2022-04-28 09:04:42,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:04:42,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:04:42,194 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:04:42,194 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:04:42,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 824 states, 808 states have (on average 1.3712871287128714) internal successors, (1108), 809 states have internal predecessors, (1108), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:04:42,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 824 states to 824 states and 1123 transitions. [2022-04-28 09:04:42,221 INFO L78 Accepts]: Start accepts. Automaton has 824 states and 1123 transitions. Word has length 110 [2022-04-28 09:04:42,221 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:04:42,221 INFO L495 AbstractCegarLoop]: Abstraction has 824 states and 1123 transitions. [2022-04-28 09:04:42,221 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 2.3181818181818183) internal successors, (51), 20 states have internal predecessors, (51), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:04:42,221 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 824 states and 1123 transitions. [2022-04-28 09:04:47,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1123 edges. 1123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:04:47,393 INFO L276 IsEmpty]: Start isEmpty. Operand 824 states and 1123 transitions. [2022-04-28 09:04:47,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 09:04:47,394 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:04:47,394 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:04:47,410 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (31)] Ended with exit code 0 [2022-04-28 09:04:47,599 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 31 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable31 [2022-04-28 09:04:47,599 INFO L420 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:04:47,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:04:47,600 INFO L85 PathProgramCache]: Analyzing trace with hash -1264922498, now seen corresponding path program 15 times [2022-04-28 09:04:47,600 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:04:47,600 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [842336087] [2022-04-28 09:04:47,602 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:04:47,602 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:04:47,602 INFO L85 PathProgramCache]: Analyzing trace with hash -1264922498, now seen corresponding path program 16 times [2022-04-28 09:04:47,602 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:04:47,602 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1244535599] [2022-04-28 09:04:47,602 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:04:47,602 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:04:47,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:48,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:04:48,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:48,115 INFO L290 TraceCheckUtils]: 0: Hoare triple {59497#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume true; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,116 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} {59416#true} #95#return; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,125 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:04:48,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:48,646 INFO L290 TraceCheckUtils]: 0: Hoare triple {59498#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {59499#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:04:48,647 INFO L290 TraceCheckUtils]: 1: Hoare triple {59499#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:04:48,647 INFO L290 TraceCheckUtils]: 2: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:04:48,648 INFO L290 TraceCheckUtils]: 3: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:04:48,648 INFO L290 TraceCheckUtils]: 4: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59501#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2))} is VALID [2022-04-28 09:04:48,649 INFO L290 TraceCheckUtils]: 5: Hoare triple {59501#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59502#(and (< 1 SelectionSort_~i~0) (or (and (= |#memory_int| |old(#memory_int)|) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= |SelectionSort_#t~mem3| 0))) (<= SelectionSort_~i~0 2) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} is VALID [2022-04-28 09:04:48,649 INFO L290 TraceCheckUtils]: 6: Hoare triple {59502#(and (< 1 SelectionSort_~i~0) (or (and (= |#memory_int| |old(#memory_int)|) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= |SelectionSort_#t~mem3| 0))) (<= SelectionSort_~i~0 2) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59503#(and (< 1 SelectionSort_~i~0) (<= SelectionSort_~i~0 2) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0))))} is VALID [2022-04-28 09:04:48,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {59503#(and (< 1 SelectionSort_~i~0) (<= SelectionSort_~i~0 2) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59504#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-28 09:04:48,650 INFO L290 TraceCheckUtils]: 8: Hoare triple {59504#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59505#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-28 09:04:48,651 INFO L290 TraceCheckUtils]: 9: Hoare triple {59505#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59506#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-28 09:04:48,652 INFO L290 TraceCheckUtils]: 10: Hoare triple {59506#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59507#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:04:48,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {59507#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59508#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} is VALID [2022-04-28 09:04:48,654 INFO L290 TraceCheckUtils]: 12: Hoare triple {59508#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59509#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:04:48,654 INFO L290 TraceCheckUtils]: 13: Hoare triple {59509#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-28 09:04:48,655 INFO L290 TraceCheckUtils]: 14: Hoare triple {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} assume !(~i~0 < ~n~0); {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-28 09:04:48,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,656 INFO L290 TraceCheckUtils]: 16: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,657 INFO L290 TraceCheckUtils]: 18: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,657 INFO L290 TraceCheckUtils]: 19: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,657 INFO L290 TraceCheckUtils]: 20: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,658 INFO L290 TraceCheckUtils]: 21: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,658 INFO L290 TraceCheckUtils]: 22: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,659 INFO L290 TraceCheckUtils]: 24: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,659 INFO L290 TraceCheckUtils]: 25: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,660 INFO L290 TraceCheckUtils]: 26: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,660 INFO L290 TraceCheckUtils]: 27: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,661 INFO L290 TraceCheckUtils]: 28: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,661 INFO L290 TraceCheckUtils]: 29: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,661 INFO L290 TraceCheckUtils]: 30: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,662 INFO L290 TraceCheckUtils]: 31: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,662 INFO L290 TraceCheckUtils]: 32: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,663 INFO L290 TraceCheckUtils]: 33: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,663 INFO L290 TraceCheckUtils]: 34: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,664 INFO L290 TraceCheckUtils]: 35: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,664 INFO L290 TraceCheckUtils]: 36: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,664 INFO L290 TraceCheckUtils]: 37: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,665 INFO L290 TraceCheckUtils]: 38: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,665 INFO L290 TraceCheckUtils]: 39: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,665 INFO L290 TraceCheckUtils]: 40: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,666 INFO L290 TraceCheckUtils]: 41: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,666 INFO L290 TraceCheckUtils]: 42: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,667 INFO L290 TraceCheckUtils]: 43: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,667 INFO L290 TraceCheckUtils]: 44: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,667 INFO L290 TraceCheckUtils]: 45: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,668 INFO L290 TraceCheckUtils]: 46: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,668 INFO L290 TraceCheckUtils]: 47: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,668 INFO L290 TraceCheckUtils]: 48: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,669 INFO L290 TraceCheckUtils]: 49: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,669 INFO L290 TraceCheckUtils]: 50: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,669 INFO L290 TraceCheckUtils]: 51: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~lh~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,671 INFO L290 TraceCheckUtils]: 52: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume true; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,671 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #91#return; {59417#false} is VALID [2022-04-28 09:04:48,672 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:04:48,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:48,674 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-28 09:04:48,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-28 09:04:48,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-28 09:04:48,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-28 09:04:48,675 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:04:48,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:48,677 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-28 09:04:48,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-28 09:04:48,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-28 09:04:48,677 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-28 09:04:48,677 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:04:48,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:48,679 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-28 09:04:48,679 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-28 09:04:48,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-28 09:04:48,679 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-28 09:04:48,679 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-28 09:04:48,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:48,681 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-28 09:04:48,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-28 09:04:48,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-28 09:04:48,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-28 09:04:48,682 INFO L272 TraceCheckUtils]: 0: Hoare triple {59416#true} call ULTIMATE.init(); {59497#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:04:48,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {59497#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,683 INFO L290 TraceCheckUtils]: 2: Hoare triple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume true; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} {59416#true} #95#return; {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,684 INFO L272 TraceCheckUtils]: 4: Hoare triple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {59421#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {59422#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-28 09:04:48,685 INFO L290 TraceCheckUtils]: 6: Hoare triple {59422#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59422#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} is VALID [2022-04-28 09:04:48,686 INFO L290 TraceCheckUtils]: 7: Hoare triple {59422#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= (+ 16 |~#array~0.offset|) (* main_~i~1 4)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59423#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,686 INFO L290 TraceCheckUtils]: 8: Hoare triple {59423#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59423#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,687 INFO L290 TraceCheckUtils]: 9: Hoare triple {59423#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59424#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-28 09:04:48,688 INFO L290 TraceCheckUtils]: 10: Hoare triple {59424#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59424#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-28 09:04:48,689 INFO L290 TraceCheckUtils]: 11: Hoare triple {59424#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (= (+ |~#array~0.offset| 8) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59425#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-28 09:04:48,689 INFO L290 TraceCheckUtils]: 12: Hoare triple {59425#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59425#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} is VALID [2022-04-28 09:04:48,690 INFO L290 TraceCheckUtils]: 13: Hoare triple {59425#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (< (+ (* main_~i~1 4) |main_~#array~1.offset|) (+ 5 |~#array~0.offset|)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0) (<= (+ |~#array~0.offset| 4) (+ (* main_~i~1 4) |main_~#array~1.offset|)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,691 INFO L290 TraceCheckUtils]: 14: Hoare triple {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,691 INFO L290 TraceCheckUtils]: 15: Hoare triple {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,691 INFO L290 TraceCheckUtils]: 16: Hoare triple {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:04:48,692 INFO L272 TraceCheckUtils]: 17: Hoare triple {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call SelectionSort(); {59498#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:04:48,692 INFO L290 TraceCheckUtils]: 18: Hoare triple {59498#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {59499#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:04:48,693 INFO L290 TraceCheckUtils]: 19: Hoare triple {59499#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:04:48,693 INFO L290 TraceCheckUtils]: 20: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:04:48,694 INFO L290 TraceCheckUtils]: 21: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:04:48,694 INFO L290 TraceCheckUtils]: 22: Hoare triple {59500#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59501#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2))} is VALID [2022-04-28 09:04:48,695 INFO L290 TraceCheckUtils]: 23: Hoare triple {59501#(and (< 1 SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59502#(and (< 1 SelectionSort_~i~0) (or (and (= |#memory_int| |old(#memory_int)|) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= |SelectionSort_#t~mem3| 0))) (<= SelectionSort_~i~0 2) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} is VALID [2022-04-28 09:04:48,695 INFO L290 TraceCheckUtils]: 24: Hoare triple {59502#(and (< 1 SelectionSort_~i~0) (or (and (= |#memory_int| |old(#memory_int)|) (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (not (= |SelectionSort_#t~mem3| 0))) (<= SelectionSort_~i~0 2) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59503#(and (< 1 SelectionSort_~i~0) (<= SelectionSort_~i~0 2) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0))))} is VALID [2022-04-28 09:04:48,696 INFO L290 TraceCheckUtils]: 25: Hoare triple {59503#(and (< 1 SelectionSort_~i~0) (<= SelectionSort_~i~0 2) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59504#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-28 09:04:48,697 INFO L290 TraceCheckUtils]: 26: Hoare triple {59504#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59505#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-28 09:04:48,697 INFO L290 TraceCheckUtils]: 27: Hoare triple {59505#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| 0) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59506#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} is VALID [2022-04-28 09:04:48,698 INFO L290 TraceCheckUtils]: 28: Hoare triple {59506#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59507#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:04:48,699 INFO L290 TraceCheckUtils]: 29: Hoare triple {59507#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59508#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} is VALID [2022-04-28 09:04:48,699 INFO L290 TraceCheckUtils]: 30: Hoare triple {59508#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59509#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:04:48,700 INFO L290 TraceCheckUtils]: 31: Hoare triple {59509#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-28 09:04:48,700 INFO L290 TraceCheckUtils]: 32: Hoare triple {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} assume !(~i~0 < ~n~0); {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-28 09:04:48,701 INFO L290 TraceCheckUtils]: 33: Hoare triple {59510#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,701 INFO L290 TraceCheckUtils]: 34: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,702 INFO L290 TraceCheckUtils]: 35: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,702 INFO L290 TraceCheckUtils]: 36: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,702 INFO L290 TraceCheckUtils]: 37: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,703 INFO L290 TraceCheckUtils]: 38: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,703 INFO L290 TraceCheckUtils]: 39: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,703 INFO L290 TraceCheckUtils]: 40: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,704 INFO L290 TraceCheckUtils]: 41: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,704 INFO L290 TraceCheckUtils]: 42: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,705 INFO L290 TraceCheckUtils]: 43: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,705 INFO L290 TraceCheckUtils]: 44: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,705 INFO L290 TraceCheckUtils]: 45: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,706 INFO L290 TraceCheckUtils]: 46: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,706 INFO L290 TraceCheckUtils]: 47: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,707 INFO L290 TraceCheckUtils]: 48: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,707 INFO L290 TraceCheckUtils]: 49: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,707 INFO L290 TraceCheckUtils]: 50: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,708 INFO L290 TraceCheckUtils]: 51: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,708 INFO L290 TraceCheckUtils]: 52: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,708 INFO L290 TraceCheckUtils]: 53: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,709 INFO L290 TraceCheckUtils]: 54: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,709 INFO L290 TraceCheckUtils]: 55: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,709 INFO L290 TraceCheckUtils]: 56: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,710 INFO L290 TraceCheckUtils]: 57: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,710 INFO L290 TraceCheckUtils]: 58: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,711 INFO L290 TraceCheckUtils]: 59: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,711 INFO L290 TraceCheckUtils]: 60: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,711 INFO L290 TraceCheckUtils]: 61: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,712 INFO L290 TraceCheckUtils]: 62: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,712 INFO L290 TraceCheckUtils]: 63: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,712 INFO L290 TraceCheckUtils]: 64: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,713 INFO L290 TraceCheckUtils]: 65: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,713 INFO L290 TraceCheckUtils]: 66: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~i~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,713 INFO L290 TraceCheckUtils]: 67: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,714 INFO L290 TraceCheckUtils]: 68: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,714 INFO L290 TraceCheckUtils]: 69: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume !(~lh~0 < ~n~0); {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,714 INFO L290 TraceCheckUtils]: 70: Hoare triple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} assume true; {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} is VALID [2022-04-28 09:04:48,715 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {59511#(or (not (= 0 (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)))} {59426#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #91#return; {59417#false} is VALID [2022-04-28 09:04:48,715 INFO L290 TraceCheckUtils]: 72: Hoare triple {59417#false} ~i~1 := 0; {59417#false} is VALID [2022-04-28 09:04:48,715 INFO L290 TraceCheckUtils]: 73: Hoare triple {59417#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59417#false} is VALID [2022-04-28 09:04:48,715 INFO L272 TraceCheckUtils]: 74: Hoare triple {59417#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59416#true} is VALID [2022-04-28 09:04:48,715 INFO L290 TraceCheckUtils]: 75: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-28 09:04:48,715 INFO L290 TraceCheckUtils]: 76: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-28 09:04:48,715 INFO L290 TraceCheckUtils]: 77: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-28 09:04:48,716 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 79: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 80: Hoare triple {59417#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59417#false} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 81: Hoare triple {59417#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59417#false} is VALID [2022-04-28 09:04:48,716 INFO L272 TraceCheckUtils]: 82: Hoare triple {59417#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59416#true} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 83: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 84: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 85: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-28 09:04:48,716 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 87: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 88: Hoare triple {59417#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59417#false} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 89: Hoare triple {59417#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59417#false} is VALID [2022-04-28 09:04:48,716 INFO L272 TraceCheckUtils]: 90: Hoare triple {59417#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59416#true} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 91: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-28 09:04:48,716 INFO L290 TraceCheckUtils]: 92: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 93: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-28 09:04:48,717 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 95: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 96: Hoare triple {59417#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59417#false} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 97: Hoare triple {59417#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59417#false} is VALID [2022-04-28 09:04:48,717 INFO L272 TraceCheckUtils]: 98: Hoare triple {59417#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59416#true} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 99: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 100: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 101: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-28 09:04:48,717 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 103: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 104: Hoare triple {59417#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59417#false} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 105: Hoare triple {59417#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59417#false} is VALID [2022-04-28 09:04:48,717 INFO L272 TraceCheckUtils]: 106: Hoare triple {59417#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59417#false} is VALID [2022-04-28 09:04:48,717 INFO L290 TraceCheckUtils]: 107: Hoare triple {59417#false} ~cond := #in~cond; {59417#false} is VALID [2022-04-28 09:04:48,718 INFO L290 TraceCheckUtils]: 108: Hoare triple {59417#false} assume 0 == ~cond; {59417#false} is VALID [2022-04-28 09:04:48,718 INFO L290 TraceCheckUtils]: 109: Hoare triple {59417#false} assume !false; {59417#false} is VALID [2022-04-28 09:04:48,718 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 8 proven. 153 refuted. 0 times theorem prover too weak. 158 trivial. 0 not checked. [2022-04-28 09:04:48,718 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:04:48,718 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1244535599] [2022-04-28 09:04:48,718 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1244535599] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:04:48,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1272655119] [2022-04-28 09:04:48,719 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:04:48,719 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:04:48,719 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:04:48,720 INFO L229 MonitoredProcess]: Starting monitored process 32 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:04:48,721 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Waiting until timeout for monitored process [2022-04-28 09:04:48,891 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:04:48,892 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:04:48,894 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-28 09:04:48,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:04:48,914 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:04:48,959 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 09:04:48,959 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-28 09:04:48,991 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-28 09:04:49,062 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-28 09:04:49,062 INFO L390 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 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-28 09:04:49,117 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-28 09:04:49,117 INFO L390 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 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-28 09:04:49,172 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-28 09:04:49,173 INFO L390 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 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-28 09:04:49,235 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-28 09:04:49,235 INFO L390 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 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-28 09:04:50,081 INFO L390 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 21 treesize of output 23 [2022-04-28 09:04:55,517 INFO L356 Elim1Store]: treesize reduction 14, result has 17.6 percent of original size [2022-04-28 09:04:55,517 INFO L390 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 1 case distinctions, treesize of input 26 treesize of output 12 [2022-04-28 09:04:55,675 INFO L272 TraceCheckUtils]: 0: Hoare triple {59416#true} call ULTIMATE.init(); {59416#true} is VALID [2022-04-28 09:04:55,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:04:55,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:04:55,677 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {59416#true} #95#return; {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:04:55,677 INFO L272 TraceCheckUtils]: 4: Hoare triple {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:04:55,678 INFO L290 TraceCheckUtils]: 5: Hoare triple {59518#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {59531#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:55,678 INFO L290 TraceCheckUtils]: 6: Hoare triple {59531#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59535#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:04:55,679 INFO L290 TraceCheckUtils]: 7: Hoare triple {59535#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59539#(and (= 3 |~#array~0.base|) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:55,679 INFO L290 TraceCheckUtils]: 8: Hoare triple {59539#(and (= 3 |~#array~0.base|) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59539#(and (= 3 |~#array~0.base|) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:55,680 INFO L290 TraceCheckUtils]: 9: Hoare triple {59539#(and (= 3 |~#array~0.base|) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59546#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:55,681 INFO L290 TraceCheckUtils]: 10: Hoare triple {59546#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59546#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:55,682 INFO L290 TraceCheckUtils]: 11: Hoare triple {59546#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59553#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} is VALID [2022-04-28 09:04:55,682 INFO L290 TraceCheckUtils]: 12: Hoare triple {59553#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59553#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} is VALID [2022-04-28 09:04:55,683 INFO L290 TraceCheckUtils]: 13: Hoare triple {59553#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59560#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:55,684 INFO L290 TraceCheckUtils]: 14: Hoare triple {59560#(and (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59564#(and (<= 0 main_~i~1) (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:55,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {59564#(and (<= 0 main_~i~1) (= 3 |~#array~0.base|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {59568#(and (= 3 |~#array~0.base|) (exists ((v_main_~i~1_228 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= v_main_~i~1_228 (+ main_~i~1 1)) (<= 0 v_main_~i~1_228))) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:04:55,686 INFO L290 TraceCheckUtils]: 16: Hoare triple {59568#(and (= 3 |~#array~0.base|) (exists ((v_main_~i~1_228 Int)) (and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= v_main_~i~1_228 (+ main_~i~1 1)) (<= 0 v_main_~i~1_228))) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {59572#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:55,686 INFO L272 TraceCheckUtils]: 17: Hoare triple {59572#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} call SelectionSort(); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,687 INFO L290 TraceCheckUtils]: 18: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,687 INFO L290 TraceCheckUtils]: 19: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,688 INFO L290 TraceCheckUtils]: 21: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,688 INFO L290 TraceCheckUtils]: 22: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,688 INFO L290 TraceCheckUtils]: 23: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,689 INFO L290 TraceCheckUtils]: 24: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,689 INFO L290 TraceCheckUtils]: 25: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,689 INFO L290 TraceCheckUtils]: 26: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,690 INFO L290 TraceCheckUtils]: 27: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,690 INFO L290 TraceCheckUtils]: 28: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,691 INFO L290 TraceCheckUtils]: 29: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,691 INFO L290 TraceCheckUtils]: 30: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,691 INFO L290 TraceCheckUtils]: 31: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,691 INFO L290 TraceCheckUtils]: 32: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,692 INFO L290 TraceCheckUtils]: 33: Hoare triple {59576#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,693 INFO L290 TraceCheckUtils]: 34: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,693 INFO L290 TraceCheckUtils]: 35: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,694 INFO L290 TraceCheckUtils]: 36: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,694 INFO L290 TraceCheckUtils]: 37: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,695 INFO L290 TraceCheckUtils]: 38: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,695 INFO L290 TraceCheckUtils]: 39: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,696 INFO L290 TraceCheckUtils]: 40: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,696 INFO L290 TraceCheckUtils]: 41: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,697 INFO L290 TraceCheckUtils]: 42: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,697 INFO L290 TraceCheckUtils]: 43: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,698 INFO L290 TraceCheckUtils]: 44: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,698 INFO L290 TraceCheckUtils]: 45: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,700 WARN L290 TraceCheckUtils]: 46: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:04:55,700 INFO L290 TraceCheckUtils]: 47: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,701 INFO L290 TraceCheckUtils]: 48: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,701 INFO L290 TraceCheckUtils]: 49: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,702 INFO L290 TraceCheckUtils]: 50: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,702 INFO L290 TraceCheckUtils]: 51: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,703 INFO L290 TraceCheckUtils]: 52: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,703 INFO L290 TraceCheckUtils]: 53: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,704 INFO L290 TraceCheckUtils]: 54: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,704 INFO L290 TraceCheckUtils]: 55: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,706 WARN L290 TraceCheckUtils]: 56: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:04:55,706 INFO L290 TraceCheckUtils]: 57: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,707 INFO L290 TraceCheckUtils]: 58: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,707 INFO L290 TraceCheckUtils]: 59: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,708 INFO L290 TraceCheckUtils]: 60: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,708 INFO L290 TraceCheckUtils]: 61: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,709 INFO L290 TraceCheckUtils]: 62: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,710 WARN L290 TraceCheckUtils]: 63: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:04:55,711 INFO L290 TraceCheckUtils]: 64: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,711 INFO L290 TraceCheckUtils]: 65: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,711 INFO L290 TraceCheckUtils]: 66: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,713 WARN L290 TraceCheckUtils]: 67: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:04:55,713 INFO L290 TraceCheckUtils]: 68: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,714 INFO L290 TraceCheckUtils]: 69: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume !(~lh~0 < ~n~0); {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,714 INFO L290 TraceCheckUtils]: 70: Hoare triple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} assume true; {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:04:55,716 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {59625#(and (exists ((v_ArrVal_1641 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1641))) (= 3 |~#array~0.base|))} {59572#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #91#return; {59740#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:55,716 INFO L290 TraceCheckUtils]: 72: Hoare triple {59740#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} ~i~1 := 0; {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} is VALID [2022-04-28 09:04:55,717 INFO L290 TraceCheckUtils]: 73: Hoare triple {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} is VALID [2022-04-28 09:04:57,720 WARN L272 TraceCheckUtils]: 74: Hoare triple {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is UNKNOWN [2022-04-28 09:04:57,721 INFO L290 TraceCheckUtils]: 75: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} ~cond := #in~cond; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,731 INFO L290 TraceCheckUtils]: 76: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume !(0 == ~cond); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,733 INFO L290 TraceCheckUtils]: 77: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume true; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,734 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} #93#return; {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} is VALID [2022-04-28 09:04:57,734 INFO L290 TraceCheckUtils]: 79: Hoare triple {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} havoc #t~mem9; {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} is VALID [2022-04-28 09:04:57,735 INFO L290 TraceCheckUtils]: 80: Hoare triple {59744#(and (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,736 INFO L290 TraceCheckUtils]: 81: Hoare triple {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,752 INFO L272 TraceCheckUtils]: 82: Hoare triple {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,753 INFO L290 TraceCheckUtils]: 83: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} ~cond := #in~cond; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,754 INFO L290 TraceCheckUtils]: 84: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume !(0 == ~cond); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,762 INFO L290 TraceCheckUtils]: 85: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume true; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,763 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #93#return; {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,764 INFO L290 TraceCheckUtils]: 87: Hoare triple {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} havoc #t~mem9; {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,764 INFO L290 TraceCheckUtils]: 88: Hoare triple {59770#(and (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,765 INFO L290 TraceCheckUtils]: 89: Hoare triple {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,768 INFO L272 TraceCheckUtils]: 90: Hoare triple {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,772 INFO L290 TraceCheckUtils]: 91: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} ~cond := #in~cond; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,773 INFO L290 TraceCheckUtils]: 92: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume !(0 == ~cond); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,774 INFO L290 TraceCheckUtils]: 93: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume true; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,775 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #93#return; {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,776 INFO L290 TraceCheckUtils]: 95: Hoare triple {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} havoc #t~mem9; {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,776 INFO L290 TraceCheckUtils]: 96: Hoare triple {59795#(and (not (= |main_~#array~1.base| 3)) (= main_~i~1 2) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,777 INFO L290 TraceCheckUtils]: 97: Hoare triple {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,781 INFO L272 TraceCheckUtils]: 98: Hoare triple {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,782 INFO L290 TraceCheckUtils]: 99: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} ~cond := #in~cond; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,782 INFO L290 TraceCheckUtils]: 100: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume !(0 == ~cond); {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,788 INFO L290 TraceCheckUtils]: 101: Hoare triple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} assume true; {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} is VALID [2022-04-28 09:04:57,789 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {59751#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_36| Int) (v_main_~i~1_228 Int) (|v_main_~#array~1.base_BEFORE_CALL_36| Int)) (and (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_36|)) (< v_main_~i~1_228 1) (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_36|) (+ |v_main_~#array~1.offset_BEFORE_CALL_36| (* 4 v_main_~i~1_228) 16)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228)))} {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #93#return; {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,789 INFO L290 TraceCheckUtils]: 103: Hoare triple {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} havoc #t~mem9; {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,790 INFO L290 TraceCheckUtils]: 104: Hoare triple {59820#(and (= main_~i~1 3) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {59845#(and (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} is VALID [2022-04-28 09:04:57,791 INFO L290 TraceCheckUtils]: 105: Hoare triple {59845#(and (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (exists ((v_main_~i~1_228 Int)) (and (< v_main_~i~1_228 1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_228) 16 |main_~#array~1.offset|)) (+ 4 v_main_~i~1_228)) (<= 0 v_main_~i~1_228))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {59849#(and (< |main_#t~mem9| 5) (= main_~i~1 4) (<= 4 |main_#t~mem9|))} is VALID [2022-04-28 09:04:57,791 INFO L272 TraceCheckUtils]: 106: Hoare triple {59849#(and (< |main_#t~mem9| 5) (= main_~i~1 4) (<= 4 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {59853#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:04:57,792 INFO L290 TraceCheckUtils]: 107: Hoare triple {59853#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {59857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:04:57,792 INFO L290 TraceCheckUtils]: 108: Hoare triple {59857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {59417#false} is VALID [2022-04-28 09:04:57,792 INFO L290 TraceCheckUtils]: 109: Hoare triple {59417#false} assume !false; {59417#false} is VALID [2022-04-28 09:04:57,793 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 5 proven. 167 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-28 09:04:57,793 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:04:58,190 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1652 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1652) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 16)) 4)) is different from false [2022-04-28 09:04:58,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1272655119] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:04:58,191 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:04:58,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 24] total 45 [2022-04-28 09:04:58,192 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:04:58,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [842336087] [2022-04-28 09:04:58,192 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [842336087] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:04:58,192 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:04:58,192 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 09:04:58,192 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1392687116] [2022-04-28 09:04:58,192 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:04:58,192 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:04:58,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:04:58,192 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:04:58,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:04:58,241 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 09:04:58,241 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:04:58,241 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 09:04:58,241 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=2475, Unknown=13, NotChecked=100, Total=2756 [2022-04-28 09:04:58,242 INFO L87 Difference]: Start difference. First operand 824 states and 1123 transitions. Second operand has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:05:09,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:05:09,206 INFO L93 Difference]: Finished difference Result 1560 states and 2143 transitions. [2022-04-28 09:05:09,206 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-28 09:05:09,206 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:05:09,206 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:05:09,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:05:09,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2022-04-28 09:05:09,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:05:09,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2022-04-28 09:05:09,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 87 transitions. [2022-04-28 09:05:09,286 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:05:09,310 INFO L225 Difference]: With dead ends: 1560 [2022-04-28 09:05:09,311 INFO L226 Difference]: Without dead ends: 803 [2022-04-28 09:05:09,312 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 123 SyntacticMatches, 13 SemanticMatches, 70 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1524 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=383, Invalid=4547, Unknown=44, NotChecked=138, Total=5112 [2022-04-28 09:05:09,312 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 82 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 654 mSolverCounterSat, 75 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 83 SdHoareTripleChecker+Valid, 22 SdHoareTripleChecker+Invalid, 729 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 75 IncrementalHoareTripleChecker+Valid, 654 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 09:05:09,312 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [83 Valid, 22 Invalid, 729 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [75 Valid, 654 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 09:05:09,313 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 803 states. [2022-04-28 09:05:17,633 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 803 to 799. [2022-04-28 09:05:17,633 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:05:17,634 INFO L82 GeneralOperation]: Start isEquivalent. First operand 803 states. Second operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:05:17,634 INFO L74 IsIncluded]: Start isIncluded. First operand 803 states. Second operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:05:17,635 INFO L87 Difference]: Start difference. First operand 803 states. Second operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:05:17,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:05:17,653 INFO L93 Difference]: Finished difference Result 803 states and 1097 transitions. [2022-04-28 09:05:17,653 INFO L276 IsEmpty]: Start isEmpty. Operand 803 states and 1097 transitions. [2022-04-28 09:05:17,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:05:17,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:05:17,654 INFO L74 IsIncluded]: Start isIncluded. First operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 803 states. [2022-04-28 09:05:17,654 INFO L87 Difference]: Start difference. First operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 803 states. [2022-04-28 09:05:17,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:05:17,673 INFO L93 Difference]: Finished difference Result 803 states and 1097 transitions. [2022-04-28 09:05:17,673 INFO L276 IsEmpty]: Start isEmpty. Operand 803 states and 1097 transitions. [2022-04-28 09:05:17,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:05:17,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:05:17,674 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:05:17,674 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:05:17,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 799 states, 783 states have (on average 1.3767560664112388) internal successors, (1078), 784 states have internal predecessors, (1078), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:05:17,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 799 states to 799 states and 1093 transitions. [2022-04-28 09:05:17,699 INFO L78 Accepts]: Start accepts. Automaton has 799 states and 1093 transitions. Word has length 110 [2022-04-28 09:05:17,699 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:05:17,699 INFO L495 AbstractCegarLoop]: Abstraction has 799 states and 1093 transitions. [2022-04-28 09:05:17,699 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 23 states have (on average 2.1739130434782608) internal successors, (50), 21 states have internal predecessors, (50), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:05:17,699 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 799 states and 1093 transitions. [2022-04-28 09:05:22,936 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1093 edges. 1093 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:05:22,937 INFO L276 IsEmpty]: Start isEmpty. Operand 799 states and 1093 transitions. [2022-04-28 09:05:22,938 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 09:05:22,938 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:05:22,938 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:05:22,955 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (32)] Forceful destruction successful, exit code 0 [2022-04-28 09:05:23,142 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,32 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:05:23,142 INFO L420 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:05:23,142 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:05:23,143 INFO L85 PathProgramCache]: Analyzing trace with hash -1022226188, now seen corresponding path program 17 times [2022-04-28 09:05:23,143 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:05:23,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1828061408] [2022-04-28 09:05:23,156 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:05:23,157 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:05:23,157 INFO L85 PathProgramCache]: Analyzing trace with hash -1022226188, now seen corresponding path program 18 times [2022-04-28 09:05:23,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:05:23,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1659410157] [2022-04-28 09:05:23,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:05:23,157 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:05:23,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:05:23,227 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:05:23,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:05:23,234 INFO L290 TraceCheckUtils]: 0: Hoare triple {66427#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,234 INFO L290 TraceCheckUtils]: 1: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,234 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {66351#true} #95#return; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,237 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:05:23,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:05:23,665 INFO L290 TraceCheckUtils]: 0: Hoare triple {66428#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {66351#true} is VALID [2022-04-28 09:05:23,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66429#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:05:23,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {66429#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66430#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:05:23,667 INFO L290 TraceCheckUtils]: 3: Hoare triple {66430#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66431#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:05:23,667 INFO L290 TraceCheckUtils]: 4: Hoare triple {66431#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66432#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-28 09:05:23,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {66432#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66433#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:05:23,668 INFO L290 TraceCheckUtils]: 6: Hoare triple {66433#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66434#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:05:23,669 INFO L290 TraceCheckUtils]: 7: Hoare triple {66434#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:05:23,669 INFO L290 TraceCheckUtils]: 8: Hoare triple {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:05:23,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66436#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:05:23,671 INFO L290 TraceCheckUtils]: 10: Hoare triple {66436#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:05:23,672 INFO L290 TraceCheckUtils]: 11: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:05:23,672 INFO L290 TraceCheckUtils]: 12: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:05:23,673 INFO L290 TraceCheckUtils]: 13: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:05:23,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(~i~0 < ~n~0); {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:05:23,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66438#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:05:23,675 INFO L290 TraceCheckUtils]: 16: Hoare triple {66438#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66439#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:05:23,675 INFO L290 TraceCheckUtils]: 17: Hoare triple {66439#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66440#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:05:23,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {66440#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66441#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:05:23,676 INFO L290 TraceCheckUtils]: 19: Hoare triple {66441#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66442#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:05:23,677 INFO L290 TraceCheckUtils]: 20: Hoare triple {66442#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66443#(<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:05:23,677 INFO L290 TraceCheckUtils]: 21: Hoare triple {66443#(<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66444#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 22: Hoare triple {66444#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 23: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 24: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 25: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 26: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 27: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 28: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 29: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 30: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 31: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 32: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 33: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:23,678 INFO L290 TraceCheckUtils]: 34: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 35: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 36: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 37: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 38: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 39: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 40: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 41: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 42: Hoare triple {66352#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 43: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 44: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 46: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 47: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-28 09:05:23,679 INFO L290 TraceCheckUtils]: 48: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:23,680 INFO L290 TraceCheckUtils]: 49: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,680 INFO L290 TraceCheckUtils]: 50: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:23,680 INFO L290 TraceCheckUtils]: 51: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:23,680 INFO L290 TraceCheckUtils]: 52: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-28 09:05:23,680 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {66352#false} {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {66352#false} is VALID [2022-04-28 09:05:23,680 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:05:23,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:05:23,682 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:23,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:23,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:23,682 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:23,682 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:05:23,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:05:23,696 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:23,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:23,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:23,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:23,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:05:23,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:05:23,698 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:23,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:23,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:23,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:23,699 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-28 09:05:23,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:05:23,700 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:23,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:23,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:23,700 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:23,701 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66427#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:05:23,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {66427#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,702 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {66351#true} #95#return; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,702 INFO L272 TraceCheckUtils]: 4: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,703 INFO L290 TraceCheckUtils]: 5: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,703 INFO L290 TraceCheckUtils]: 6: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,703 INFO L290 TraceCheckUtils]: 7: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,704 INFO L290 TraceCheckUtils]: 10: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,705 INFO L290 TraceCheckUtils]: 11: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,705 INFO L290 TraceCheckUtils]: 12: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,705 INFO L290 TraceCheckUtils]: 13: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,706 INFO L290 TraceCheckUtils]: 14: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,706 INFO L290 TraceCheckUtils]: 15: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,706 INFO L290 TraceCheckUtils]: 16: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:23,707 INFO L272 TraceCheckUtils]: 17: Hoare triple {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {66428#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:05:23,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {66428#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {66351#true} is VALID [2022-04-28 09:05:23,707 INFO L290 TraceCheckUtils]: 19: Hoare triple {66351#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66429#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:05:23,708 INFO L290 TraceCheckUtils]: 20: Hoare triple {66429#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66430#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:05:23,708 INFO L290 TraceCheckUtils]: 21: Hoare triple {66430#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66431#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:05:23,709 INFO L290 TraceCheckUtils]: 22: Hoare triple {66431#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66432#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-28 09:05:23,710 INFO L290 TraceCheckUtils]: 23: Hoare triple {66432#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66433#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:05:23,710 INFO L290 TraceCheckUtils]: 24: Hoare triple {66433#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66434#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:05:23,711 INFO L290 TraceCheckUtils]: 25: Hoare triple {66434#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:05:23,711 INFO L290 TraceCheckUtils]: 26: Hoare triple {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:05:23,712 INFO L290 TraceCheckUtils]: 27: Hoare triple {66435#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66436#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:05:23,712 INFO L290 TraceCheckUtils]: 28: Hoare triple {66436#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:05:23,713 INFO L290 TraceCheckUtils]: 29: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:05:23,713 INFO L290 TraceCheckUtils]: 30: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:05:23,714 INFO L290 TraceCheckUtils]: 31: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:05:23,714 INFO L290 TraceCheckUtils]: 32: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(~i~0 < ~n~0); {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:05:23,715 INFO L290 TraceCheckUtils]: 33: Hoare triple {66437#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66438#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:05:23,716 INFO L290 TraceCheckUtils]: 34: Hoare triple {66438#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66439#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:05:23,716 INFO L290 TraceCheckUtils]: 35: Hoare triple {66439#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66440#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:05:23,717 INFO L290 TraceCheckUtils]: 36: Hoare triple {66440#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66441#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:05:23,717 INFO L290 TraceCheckUtils]: 37: Hoare triple {66441#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66442#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:05:23,718 INFO L290 TraceCheckUtils]: 38: Hoare triple {66442#(and (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66443#(<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:05:23,718 INFO L290 TraceCheckUtils]: 39: Hoare triple {66443#(<= (+ 2 (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66444#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 40: Hoare triple {66444#(<= (+ 2 |SelectionSort_#t~mem4|) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 41: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 42: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 43: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 44: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 46: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 47: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 48: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 49: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 50: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 51: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 52: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,719 INFO L290 TraceCheckUtils]: 53: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 54: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 55: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 56: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 57: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 58: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 59: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 60: Hoare triple {66352#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 61: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 62: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 63: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 64: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 65: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 66: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 67: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 68: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:23,720 INFO L290 TraceCheckUtils]: 69: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 70: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-28 09:05:23,721 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {66352#false} {66356#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {66352#false} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 73: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:23,721 INFO L272 TraceCheckUtils]: 74: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 75: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 76: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 77: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:23,721 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 80: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 81: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:23,721 INFO L272 TraceCheckUtils]: 82: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 83: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:23,721 INFO L290 TraceCheckUtils]: 84: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 85: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:23,722 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 88: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 89: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:23,722 INFO L272 TraceCheckUtils]: 90: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 91: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 92: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 93: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:23,722 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 96: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 97: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:23,722 INFO L272 TraceCheckUtils]: 98: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-28 09:05:23,722 INFO L290 TraceCheckUtils]: 99: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:23,723 INFO L290 TraceCheckUtils]: 100: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:23,723 INFO L290 TraceCheckUtils]: 101: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:23,723 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:23,723 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:23,723 INFO L290 TraceCheckUtils]: 104: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:23,723 INFO L290 TraceCheckUtils]: 105: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:23,723 INFO L272 TraceCheckUtils]: 106: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-28 09:05:23,723 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-28 09:05:23,723 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-28 09:05:23,723 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-28 09:05:23,724 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 130 proven. 45 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 09:05:23,724 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:05:23,724 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1659410157] [2022-04-28 09:05:23,724 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1659410157] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:05:23,724 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1037821865] [2022-04-28 09:05:23,724 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 09:05:23,724 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:05:23,724 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:05:23,725 INFO L229 MonitoredProcess]: Starting monitored process 33 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:05:23,725 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Waiting until timeout for monitored process [2022-04-28 09:05:23,905 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-28 09:05:23,906 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:05:23,908 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-28 09:05:23,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:05:23,929 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:05:24,717 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:05:24,718 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:05:24,719 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:05:24,721 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-28 09:05:24,721 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 54 treesize of output 41 [2022-04-28 09:05:25,546 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:05:25,547 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-28 09:05:25,548 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:05:25,549 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:05:25,551 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-28 09:05:25,552 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 51 treesize of output 16 [2022-04-28 09:05:25,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66351#true} is VALID [2022-04-28 09:05:25,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,728 INFO L290 TraceCheckUtils]: 2: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume true; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,728 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} {66351#true} #95#return; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,728 INFO L272 TraceCheckUtils]: 4: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call #t~ret10 := main(); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,729 INFO L290 TraceCheckUtils]: 5: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {66464#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,729 INFO L290 TraceCheckUtils]: 6: Hoare triple {66464#(and (= main_~i~1 4) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,730 INFO L290 TraceCheckUtils]: 7: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,730 INFO L290 TraceCheckUtils]: 8: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,731 INFO L290 TraceCheckUtils]: 9: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,731 INFO L290 TraceCheckUtils]: 10: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,731 INFO L290 TraceCheckUtils]: 11: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,732 INFO L290 TraceCheckUtils]: 12: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,732 INFO L290 TraceCheckUtils]: 13: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,732 INFO L290 TraceCheckUtils]: 14: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,733 INFO L290 TraceCheckUtils]: 15: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,733 INFO L290 TraceCheckUtils]: 16: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,733 INFO L272 TraceCheckUtils]: 17: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} call SelectionSort(); {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,734 INFO L290 TraceCheckUtils]: 18: Hoare triple {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {66504#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,734 INFO L290 TraceCheckUtils]: 19: Hoare triple {66504#(and (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66508#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {66508#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66512#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:05:25,735 INFO L290 TraceCheckUtils]: 21: Hoare triple {66512#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,736 INFO L290 TraceCheckUtils]: 22: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,736 INFO L290 TraceCheckUtils]: 23: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,736 INFO L290 TraceCheckUtils]: 24: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,737 INFO L290 TraceCheckUtils]: 26: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,738 INFO L290 TraceCheckUtils]: 27: Hoare triple {66516#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66535#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,738 INFO L290 TraceCheckUtils]: 28: Hoare triple {66535#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66539#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,739 INFO L290 TraceCheckUtils]: 29: Hoare triple {66539#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66543#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,739 INFO L290 TraceCheckUtils]: 30: Hoare triple {66543#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66543#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,740 INFO L290 TraceCheckUtils]: 31: Hoare triple {66543#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0) (< SelectionSort_~i~0 ~n~0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66550#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 2)) (< (+ SelectionSort_~rh~0 1) ~n~0))} is VALID [2022-04-28 09:05:25,740 INFO L290 TraceCheckUtils]: 32: Hoare triple {66550#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= SelectionSort_~i~0 (+ SelectionSort_~rh~0 2)) (< (+ SelectionSort_~rh~0 1) ~n~0))} assume !(~i~0 < ~n~0); {66554#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 2)) (= |~#array~0.offset| 0) (< (+ SelectionSort_~rh~0 1) ~n~0))} is VALID [2022-04-28 09:05:25,741 INFO L290 TraceCheckUtils]: 33: Hoare triple {66554#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (<= ~n~0 (+ SelectionSort_~rh~0 2)) (= |~#array~0.offset| 0) (< (+ SelectionSort_~rh~0 1) ~n~0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66558#(and (exists ((SelectionSort_~rh~0 Int)) (and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< (+ SelectionSort_~rh~0 1) ~n~0))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,742 INFO L290 TraceCheckUtils]: 34: Hoare triple {66558#(and (exists ((SelectionSort_~rh~0 Int)) (and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (< (+ SelectionSort_~rh~0 1) ~n~0))) (= SelectionSort_~lh~0 0) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66562#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (exists ((SelectionSort_~rh~0 Int)) (and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (< (+ SelectionSort_~rh~0 1) ~n~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,743 INFO L290 TraceCheckUtils]: 35: Hoare triple {66562#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (exists ((SelectionSort_~rh~0 Int)) (and (<= ~n~0 (+ SelectionSort_~rh~0 2)) (< (+ SelectionSort_~rh~0 1) ~n~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66566#(and (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,744 INFO L290 TraceCheckUtils]: 36: Hoare triple {66566#(and (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= SelectionSort_~rh~0 (+ (- 1) SelectionSort_~i~0)) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66570#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:05:25,745 INFO L290 TraceCheckUtils]: 37: Hoare triple {66570#(and (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= 5 ~n~0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66574#(and (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,746 INFO L290 TraceCheckUtils]: 38: Hoare triple {66574#(and (= (+ (- 2) SelectionSort_~i~0) 0) (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= 5 ~n~0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66578#(and (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= SelectionSort_~rh~0 2))} is VALID [2022-04-28 09:05:25,747 INFO L290 TraceCheckUtils]: 39: Hoare triple {66578#(and (exists ((v_SelectionSort_~rh~0_512 Int)) (and (<= ~n~0 (+ 2 v_SelectionSort_~rh~0_512)) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |#memory_int| |~#array~0.base|) (+ (* v_SelectionSort_~rh~0_512 4) |~#array~0.offset|))) (< (+ v_SelectionSort_~rh~0_512 1) ~n~0))) (= 5 ~n~0) (= |~#array~0.offset| 0) (= SelectionSort_~i~0 3) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= SelectionSort_~rh~0 2))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66582#(and (< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (= 5 ~n~0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:05:25,747 INFO L290 TraceCheckUtils]: 40: Hoare triple {66582#(and (< (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|) (= 5 ~n~0) (= |~#array~0.offset| 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:25,747 INFO L290 TraceCheckUtils]: 41: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:25,747 INFO L290 TraceCheckUtils]: 42: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:25,747 INFO L290 TraceCheckUtils]: 43: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:25,747 INFO L290 TraceCheckUtils]: 44: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:25,747 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:25,747 INFO L290 TraceCheckUtils]: 46: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 47: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 48: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 49: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 50: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 51: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 52: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 53: Hoare triple {66352#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 54: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 55: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 56: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 57: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 58: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 59: Hoare triple {66352#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 60: Hoare triple {66352#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66352#false} is VALID [2022-04-28 09:05:25,748 INFO L290 TraceCheckUtils]: 61: Hoare triple {66352#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 62: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 63: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 64: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 65: Hoare triple {66352#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 66: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 67: Hoare triple {66352#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 68: Hoare triple {66352#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 69: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 70: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {66352#false} {66451#(and (= 5 ~n~0) (= |~#array~0.offset| 0))} #91#return; {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 73: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L272 TraceCheckUtils]: 74: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 75: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-28 09:05:25,749 INFO L290 TraceCheckUtils]: 76: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 77: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 80: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 81: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L272 TraceCheckUtils]: 82: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 83: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 84: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 85: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 88: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 89: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L272 TraceCheckUtils]: 90: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-28 09:05:25,750 INFO L290 TraceCheckUtils]: 91: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 92: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 93: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 96: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 97: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L272 TraceCheckUtils]: 98: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 99: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 100: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 101: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 104: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L290 TraceCheckUtils]: 105: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:25,751 INFO L272 TraceCheckUtils]: 106: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-28 09:05:25,752 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-28 09:05:25,752 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-28 09:05:25,752 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-28 09:05:25,752 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 131 proven. 39 refuted. 0 times theorem prover too weak. 149 trivial. 0 not checked. [2022-04-28 09:05:25,752 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:05:27,246 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 91 treesize of output 77 [2022-04-28 09:05:27,340 INFO L356 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2022-04-28 09:05:27,340 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 713 treesize of output 641 [2022-04-28 09:05:43,031 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 129 treesize of output 115 [2022-04-28 09:05:43,193 INFO L356 Elim1Store]: treesize reduction 140, result has 45.3 percent of original size [2022-04-28 09:05:43,193 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 0 disjoint index pairs (out of 15 index pairs), introduced 6 new quantified variables, introduced 15 case distinctions, treesize of input 1509 treesize of output 1438 [2022-04-28 09:05:48,551 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-28 09:05:48,551 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-28 09:05:48,551 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-28 09:05:48,551 INFO L272 TraceCheckUtils]: 106: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66352#false} is VALID [2022-04-28 09:05:48,551 INFO L290 TraceCheckUtils]: 105: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:48,551 INFO L290 TraceCheckUtils]: 104: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:48,551 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:48,551 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:48,551 INFO L290 TraceCheckUtils]: 101: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:48,551 INFO L290 TraceCheckUtils]: 100: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:48,551 INFO L290 TraceCheckUtils]: 99: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:48,552 INFO L272 TraceCheckUtils]: 98: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 97: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 96: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:48,552 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 93: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 92: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 91: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:48,552 INFO L272 TraceCheckUtils]: 90: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 89: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 88: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:48,552 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 85: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:48,552 INFO L290 TraceCheckUtils]: 84: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:48,553 INFO L290 TraceCheckUtils]: 83: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:48,553 INFO L272 TraceCheckUtils]: 82: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-28 09:05:48,553 INFO L290 TraceCheckUtils]: 81: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:48,553 INFO L290 TraceCheckUtils]: 80: Hoare triple {66352#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {66352#false} is VALID [2022-04-28 09:05:48,553 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-28 09:05:48,553 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-28 09:05:48,553 INFO L290 TraceCheckUtils]: 77: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-28 09:05:48,553 INFO L290 TraceCheckUtils]: 76: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-28 09:05:48,553 INFO L290 TraceCheckUtils]: 75: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-28 09:05:48,553 INFO L272 TraceCheckUtils]: 74: Hoare triple {66352#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {66351#true} is VALID [2022-04-28 09:05:48,553 INFO L290 TraceCheckUtils]: 73: Hoare triple {66352#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66352#false} is VALID [2022-04-28 09:05:48,553 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-28 09:05:48,556 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #91#return; {66352#false} is VALID [2022-04-28 09:05:48,556 INFO L290 TraceCheckUtils]: 70: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume true; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,557 INFO L290 TraceCheckUtils]: 69: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(~lh~0 < ~n~0); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,557 INFO L290 TraceCheckUtils]: 68: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,557 INFO L290 TraceCheckUtils]: 67: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,558 INFO L290 TraceCheckUtils]: 66: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,558 INFO L290 TraceCheckUtils]: 65: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,558 INFO L290 TraceCheckUtils]: 64: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,559 INFO L290 TraceCheckUtils]: 63: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,559 INFO L290 TraceCheckUtils]: 62: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,559 INFO L290 TraceCheckUtils]: 61: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,560 INFO L290 TraceCheckUtils]: 60: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,560 INFO L290 TraceCheckUtils]: 59: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,560 INFO L290 TraceCheckUtils]: 58: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,561 INFO L290 TraceCheckUtils]: 57: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,561 INFO L290 TraceCheckUtils]: 56: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,561 INFO L290 TraceCheckUtils]: 55: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,562 INFO L290 TraceCheckUtils]: 54: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,562 INFO L290 TraceCheckUtils]: 53: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,562 INFO L290 TraceCheckUtils]: 52: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,563 INFO L290 TraceCheckUtils]: 51: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,563 INFO L290 TraceCheckUtils]: 50: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,563 INFO L290 TraceCheckUtils]: 49: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,564 INFO L290 TraceCheckUtils]: 48: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,564 INFO L290 TraceCheckUtils]: 47: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,564 INFO L290 TraceCheckUtils]: 46: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,565 INFO L290 TraceCheckUtils]: 45: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,565 INFO L290 TraceCheckUtils]: 44: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,565 INFO L290 TraceCheckUtils]: 43: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,566 INFO L290 TraceCheckUtils]: 42: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,566 INFO L290 TraceCheckUtils]: 41: Hoare triple {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,566 INFO L290 TraceCheckUtils]: 40: Hoare triple {67005#(or (not (<= 4 ~n~0)) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {66911#(or (not (<= 4 ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,567 INFO L290 TraceCheckUtils]: 39: Hoare triple {67009#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67005#(or (not (<= 4 ~n~0)) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,567 INFO L290 TraceCheckUtils]: 38: Hoare triple {67013#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {67009#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,568 INFO L290 TraceCheckUtils]: 37: Hoare triple {67017#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {67013#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,568 INFO L290 TraceCheckUtils]: 36: Hoare triple {67021#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67017#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,569 INFO L290 TraceCheckUtils]: 35: Hoare triple {67025#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {67021#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,570 INFO L290 TraceCheckUtils]: 34: Hoare triple {67029#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {67025#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,572 INFO L290 TraceCheckUtils]: 33: Hoare triple {67033#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67029#(or (not (<= 4 ~n~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,572 INFO L290 TraceCheckUtils]: 32: Hoare triple {67037#(or (not (<= 4 ~n~0)) (< SelectionSort_~i~0 ~n~0) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {67033#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,573 INFO L290 TraceCheckUtils]: 31: Hoare triple {67041#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {67037#(or (not (<= 4 ~n~0)) (< SelectionSort_~i~0 ~n~0) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,574 INFO L290 TraceCheckUtils]: 30: Hoare triple {67041#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {67041#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,575 INFO L290 TraceCheckUtils]: 29: Hoare triple {67048#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< SelectionSort_~i~0 ~n~0)) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67041#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,576 INFO L290 TraceCheckUtils]: 28: Hoare triple {67052#(or (not (<= 4 ~n~0)) (< (+ SelectionSort_~i~0 2) ~n~0) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {67048#(or (not (<= 4 ~n~0)) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< SelectionSort_~i~0 ~n~0)) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,577 INFO L290 TraceCheckUtils]: 27: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {67052#(or (not (<= 4 ~n~0)) (< (+ SelectionSort_~i~0 2) ~n~0) (forall ((v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,578 INFO L290 TraceCheckUtils]: 26: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,579 INFO L290 TraceCheckUtils]: 24: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,580 INFO L290 TraceCheckUtils]: 23: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,580 INFO L290 TraceCheckUtils]: 22: Hoare triple {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,582 INFO L290 TraceCheckUtils]: 21: Hoare triple {67075#(or (forall ((v_SelectionSort_~i~0_617 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< (+ v_SelectionSort_~i~0_617 2) ~n~0) (not (< (+ v_SelectionSort_~i~0_617 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< 5 ~n~0) (< ~n~0 4) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {67056#(or (not (<= 4 ~n~0)) (forall ((SelectionSort_~i~0 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (< (+ SelectionSort_~i~0 2) ~n~0) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))) (not (<= ~n~0 5)))} is VALID [2022-04-28 09:05:48,587 INFO L290 TraceCheckUtils]: 20: Hoare triple {67079#(or (and (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)) (< (+ 5 SelectionSort_~lh~0) ~n~0)) (or (<= ~n~0 (+ SelectionSort_~lh~0 3)) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (< (+ SelectionSort_~lh~0 4) ~n~0)) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (not (< (+ SelectionSort_~lh~0 3) ~n~0))) (or (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (or (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= ~n~0 (+ SelectionSort_~lh~0 2)))) (< 5 ~n~0) (< ~n~0 4) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {67075#(or (forall ((v_SelectionSort_~i~0_617 Int) (v_ArrVal_1723 Int) (v_ArrVal_1724 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))) (< (+ v_SelectionSort_~i~0_617 2) ~n~0) (not (< (+ v_SelectionSort_~i~0_617 1) ~n~0)) (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1723) (+ |~#array~0.offset| (* v_SelectionSort_~i~0_617 4)) v_ArrVal_1724) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1724 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (< 5 ~n~0) (< ~n~0 4) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:05:48,588 INFO L290 TraceCheckUtils]: 19: Hoare triple {67083#(or (< 5 ~n~0) (and (< (+ SelectionSort_~lh~0 3) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (< ~n~0 4))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {67079#(or (and (or (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))) (<= ~n~0 (+ SelectionSort_~lh~0 4)) (< (+ 5 SelectionSort_~lh~0) ~n~0)) (or (<= ~n~0 (+ SelectionSort_~lh~0 3)) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~lh~0 4)) (< (+ SelectionSort_~lh~0 4) ~n~0)) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (not (< (+ SelectionSort_~lh~0 3) ~n~0))) (or (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (< (+ SelectionSort_~lh~0 4) ~n~0)) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (= (+ 4 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4))) (or (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)) (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4))) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (+ 8 (* SelectionSort_~lh~0 4)) (* SelectionSort_~i~0 4)) (<= ~n~0 (+ SelectionSort_~lh~0 2)))) (< 5 ~n~0) (< ~n~0 4) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:05:48,588 INFO L290 TraceCheckUtils]: 18: Hoare triple {66351#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {67083#(or (< 5 ~n~0) (and (< (+ SelectionSort_~lh~0 3) ~n~0) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (< ~n~0 4))} is VALID [2022-04-28 09:05:48,588 INFO L272 TraceCheckUtils]: 17: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} call SelectionSort(); {66351#true} is VALID [2022-04-28 09:05:48,588 INFO L290 TraceCheckUtils]: 16: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !(~i~1 >= 0); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,589 INFO L290 TraceCheckUtils]: 15: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,589 INFO L290 TraceCheckUtils]: 14: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,589 INFO L290 TraceCheckUtils]: 13: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,590 INFO L290 TraceCheckUtils]: 12: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,590 INFO L290 TraceCheckUtils]: 11: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,590 INFO L290 TraceCheckUtils]: 10: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,591 INFO L290 TraceCheckUtils]: 9: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,591 INFO L290 TraceCheckUtils]: 8: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,591 INFO L290 TraceCheckUtils]: 7: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,592 INFO L290 TraceCheckUtils]: 6: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,592 INFO L290 TraceCheckUtils]: 5: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,592 INFO L272 TraceCheckUtils]: 4: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} call #t~ret10 := main(); {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,593 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} {66351#true} #95#return; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} assume true; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} is VALID [2022-04-28 09:05:48,594 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66351#true} is VALID [2022-04-28 09:05:48,594 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 134 proven. 39 refuted. 0 times theorem prover too weak. 146 trivial. 0 not checked. [2022-04-28 09:05:48,594 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1037821865] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:05:48,594 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:05:48,594 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 57 [2022-04-28 09:05:48,595 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:05:48,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1828061408] [2022-04-28 09:05:48,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1828061408] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:05:48,595 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:05:48,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 09:05:48,595 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [623365605] [2022-04-28 09:05:48,595 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:05:48,595 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:05:48,596 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:05:48,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:05:48,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:05:48,633 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 09:05:48,633 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:05:48,633 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 09:05:48,634 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=333, Invalid=2847, Unknown=12, NotChecked=0, Total=3192 [2022-04-28 09:05:48,634 INFO L87 Difference]: Start difference. First operand 799 states and 1093 transitions. Second operand has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:06:06,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:06:06,420 INFO L93 Difference]: Finished difference Result 1903 states and 2629 transitions. [2022-04-28 09:06:06,420 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-28 09:06:06,420 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:06:06,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:06:06,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:06:06,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 152 transitions. [2022-04-28 09:06:06,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:06:06,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 152 transitions. [2022-04-28 09:06:06,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 152 transitions. [2022-04-28 09:06:06,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:06:06,640 INFO L225 Difference]: With dead ends: 1903 [2022-04-28 09:06:06,641 INFO L226 Difference]: Without dead ends: 1228 [2022-04-28 09:06:06,642 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 283 GetRequests, 196 SyntacticMatches, 0 SemanticMatches, 87 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1836 ImplicationChecksByTransitivity, 14.2s TimeCoverageRelationStatistics Valid=720, Invalid=7100, Unknown=12, NotChecked=0, Total=7832 [2022-04-28 09:06:06,642 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 133 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 1175 mSolverCounterSat, 88 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 133 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 1263 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 88 IncrementalHoareTripleChecker+Valid, 1175 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-28 09:06:06,642 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [133 Valid, 45 Invalid, 1263 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [88 Valid, 1175 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-28 09:06:06,643 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1228 states. [2022-04-28 09:06:16,573 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1228 to 927. [2022-04-28 09:06:16,573 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:06:16,574 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1228 states. Second operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:06:16,574 INFO L74 IsIncluded]: Start isIncluded. First operand 1228 states. Second operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:06:16,575 INFO L87 Difference]: Start difference. First operand 1228 states. Second operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:06:16,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:06:16,611 INFO L93 Difference]: Finished difference Result 1228 states and 1679 transitions. [2022-04-28 09:06:16,611 INFO L276 IsEmpty]: Start isEmpty. Operand 1228 states and 1679 transitions. [2022-04-28 09:06:16,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:06:16,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:06:16,613 INFO L74 IsIncluded]: Start isIncluded. First operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1228 states. [2022-04-28 09:06:16,613 INFO L87 Difference]: Start difference. First operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1228 states. [2022-04-28 09:06:16,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:06:16,650 INFO L93 Difference]: Finished difference Result 1228 states and 1679 transitions. [2022-04-28 09:06:16,650 INFO L276 IsEmpty]: Start isEmpty. Operand 1228 states and 1679 transitions. [2022-04-28 09:06:16,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:06:16,651 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:06:16,651 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:06:16,651 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:06:16,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 927 states, 911 states have (on average 1.3677277716794731) internal successors, (1246), 912 states have internal predecessors, (1246), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:06:16,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 927 states to 927 states and 1261 transitions. [2022-04-28 09:06:16,688 INFO L78 Accepts]: Start accepts. Automaton has 927 states and 1261 transitions. Word has length 110 [2022-04-28 09:06:16,688 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:06:16,688 INFO L495 AbstractCegarLoop]: Abstraction has 927 states and 1261 transitions. [2022-04-28 09:06:16,688 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 2.3333333333333335) internal successors, (49), 19 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:06:16,688 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 927 states and 1261 transitions. [2022-04-28 09:06:22,501 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1261 edges. 1261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:06:22,502 INFO L276 IsEmpty]: Start isEmpty. Operand 927 states and 1261 transitions. [2022-04-28 09:06:22,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 09:06:22,503 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:06:22,503 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:06:22,519 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (33)] Forceful destruction successful, exit code 0 [2022-04-28 09:06:22,703 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable33,33 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:06:22,703 INFO L420 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:06:22,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:06:22,704 INFO L85 PathProgramCache]: Analyzing trace with hash -1666738186, now seen corresponding path program 19 times [2022-04-28 09:06:22,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:06:22,704 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1460840188] [2022-04-28 09:06:22,705 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:06:22,706 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:06:22,706 INFO L85 PathProgramCache]: Analyzing trace with hash -1666738186, now seen corresponding path program 20 times [2022-04-28 09:06:22,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:06:22,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1616608995] [2022-04-28 09:06:22,706 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:06:22,706 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:06:22,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:06:22,765 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:06:22,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:06:22,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {75397#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:22,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:22,772 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {75321#true} #95#return; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:22,775 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:06:22,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:06:23,032 INFO L290 TraceCheckUtils]: 0: Hoare triple {75398#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {75321#true} is VALID [2022-04-28 09:06:23,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:06:23,036 INFO L290 TraceCheckUtils]: 2: Hoare triple {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:06:23,036 INFO L290 TraceCheckUtils]: 3: Hoare triple {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75400#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:06:23,037 INFO L290 TraceCheckUtils]: 4: Hoare triple {75400#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75401#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-28 09:06:23,038 INFO L290 TraceCheckUtils]: 5: Hoare triple {75401#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75402#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:06:23,038 INFO L290 TraceCheckUtils]: 6: Hoare triple {75402#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75403#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:06:23,039 INFO L290 TraceCheckUtils]: 7: Hoare triple {75403#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,040 INFO L290 TraceCheckUtils]: 9: Hoare triple {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,040 INFO L290 TraceCheckUtils]: 10: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !(~i~0 < ~n~0); {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75406#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:06:23,044 INFO L290 TraceCheckUtils]: 16: Hoare triple {75406#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75407#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:06:23,044 INFO L290 TraceCheckUtils]: 17: Hoare triple {75407#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75408#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:06:23,045 INFO L290 TraceCheckUtils]: 18: Hoare triple {75408#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75409#(<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:06:23,045 INFO L290 TraceCheckUtils]: 19: Hoare triple {75409#(<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-28 09:06:23,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,045 INFO L290 TraceCheckUtils]: 21: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,045 INFO L290 TraceCheckUtils]: 22: Hoare triple {75322#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75322#false} is VALID [2022-04-28 09:06:23,045 INFO L290 TraceCheckUtils]: 23: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,045 INFO L290 TraceCheckUtils]: 24: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 25: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 26: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 27: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 28: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 29: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 30: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 32: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 33: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 34: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 35: Hoare triple {75322#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 36: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 37: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 38: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,046 INFO L290 TraceCheckUtils]: 39: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 40: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 41: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 42: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 43: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 44: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 45: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 46: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 47: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 48: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 49: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 50: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 51: Hoare triple {75322#false} assume !(~lh~0 < ~n~0); {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L290 TraceCheckUtils]: 52: Hoare triple {75322#false} assume true; {75322#false} is VALID [2022-04-28 09:06:23,047 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {75322#false} {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {75322#false} is VALID [2022-04-28 09:06:23,048 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:06:23,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:06:23,054 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-28 09:06:23,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-28 09:06:23,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-28 09:06:23,055 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-28 09:06:23,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:06:23,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:06:23,072 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-28 09:06:23,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-28 09:06:23,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-28 09:06:23,073 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-28 09:06:23,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:06:23,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:06:23,074 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-28 09:06:23,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-28 09:06:23,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-28 09:06:23,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-28 09:06:23,075 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-28 09:06:23,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:06:23,076 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-28 09:06:23,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-28 09:06:23,077 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-28 09:06:23,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-28 09:06:23,077 INFO L272 TraceCheckUtils]: 0: Hoare triple {75321#true} call ULTIMATE.init(); {75397#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:06:23,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {75397#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,078 INFO L290 TraceCheckUtils]: 2: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,079 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {75321#true} #95#return; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,079 INFO L272 TraceCheckUtils]: 4: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,079 INFO L290 TraceCheckUtils]: 5: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,080 INFO L290 TraceCheckUtils]: 6: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,080 INFO L290 TraceCheckUtils]: 8: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,081 INFO L290 TraceCheckUtils]: 9: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,081 INFO L290 TraceCheckUtils]: 10: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,081 INFO L290 TraceCheckUtils]: 11: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,082 INFO L290 TraceCheckUtils]: 12: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,082 INFO L290 TraceCheckUtils]: 13: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,082 INFO L290 TraceCheckUtils]: 14: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,083 INFO L290 TraceCheckUtils]: 15: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,083 INFO L290 TraceCheckUtils]: 16: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:06:23,083 INFO L272 TraceCheckUtils]: 17: Hoare triple {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {75398#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:06:23,083 INFO L290 TraceCheckUtils]: 18: Hoare triple {75398#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {75321#true} is VALID [2022-04-28 09:06:23,084 INFO L290 TraceCheckUtils]: 19: Hoare triple {75321#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:06:23,084 INFO L290 TraceCheckUtils]: 20: Hoare triple {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:06:23,085 INFO L290 TraceCheckUtils]: 21: Hoare triple {75399#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75400#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:06:23,085 INFO L290 TraceCheckUtils]: 22: Hoare triple {75400#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75401#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-28 09:06:23,086 INFO L290 TraceCheckUtils]: 23: Hoare triple {75401#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75402#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:06:23,086 INFO L290 TraceCheckUtils]: 24: Hoare triple {75402#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75403#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:06:23,087 INFO L290 TraceCheckUtils]: 25: Hoare triple {75403#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,087 INFO L290 TraceCheckUtils]: 26: Hoare triple {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,088 INFO L290 TraceCheckUtils]: 27: Hoare triple {75404#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,088 INFO L290 TraceCheckUtils]: 28: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,089 INFO L290 TraceCheckUtils]: 29: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,089 INFO L290 TraceCheckUtils]: 30: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,090 INFO L290 TraceCheckUtils]: 31: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,090 INFO L290 TraceCheckUtils]: 32: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !(~i~0 < ~n~0); {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:06:23,091 INFO L290 TraceCheckUtils]: 33: Hoare triple {75405#(and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75406#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:06:23,092 INFO L290 TraceCheckUtils]: 34: Hoare triple {75406#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75407#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:06:23,093 INFO L290 TraceCheckUtils]: 35: Hoare triple {75407#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75408#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:06:23,093 INFO L290 TraceCheckUtils]: 36: Hoare triple {75408#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75409#(<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:06:23,093 INFO L290 TraceCheckUtils]: 37: Hoare triple {75409#(<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-28 09:06:23,093 INFO L290 TraceCheckUtils]: 38: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,093 INFO L290 TraceCheckUtils]: 39: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 40: Hoare triple {75322#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 41: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 42: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 43: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 44: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 45: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 46: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 47: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 48: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 49: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 50: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 51: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 52: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 53: Hoare triple {75322#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75322#false} is VALID [2022-04-28 09:06:23,094 INFO L290 TraceCheckUtils]: 54: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 55: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 56: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 57: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 58: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 59: Hoare triple {75322#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 60: Hoare triple {75322#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 61: Hoare triple {75322#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 62: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 63: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 64: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 65: Hoare triple {75322#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 66: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 67: Hoare triple {75322#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 68: Hoare triple {75322#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 69: Hoare triple {75322#false} assume !(~lh~0 < ~n~0); {75322#false} is VALID [2022-04-28 09:06:23,095 INFO L290 TraceCheckUtils]: 70: Hoare triple {75322#false} assume true; {75322#false} is VALID [2022-04-28 09:06:23,096 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {75322#false} {75326#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {75322#false} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 72: Hoare triple {75322#false} ~i~1 := 0; {75322#false} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 73: Hoare triple {75322#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75322#false} is VALID [2022-04-28 09:06:23,096 INFO L272 TraceCheckUtils]: 74: Hoare triple {75322#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75321#true} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 75: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 76: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 77: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-28 09:06:23,096 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 79: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 80: Hoare triple {75322#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75322#false} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 81: Hoare triple {75322#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75322#false} is VALID [2022-04-28 09:06:23,096 INFO L272 TraceCheckUtils]: 82: Hoare triple {75322#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75321#true} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 83: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 84: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-28 09:06:23,096 INFO L290 TraceCheckUtils]: 85: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-28 09:06:23,097 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 87: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 88: Hoare triple {75322#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75322#false} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 89: Hoare triple {75322#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75322#false} is VALID [2022-04-28 09:06:23,097 INFO L272 TraceCheckUtils]: 90: Hoare triple {75322#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75321#true} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 91: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 92: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 93: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-28 09:06:23,097 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 95: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 96: Hoare triple {75322#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75322#false} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 97: Hoare triple {75322#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75322#false} is VALID [2022-04-28 09:06:23,097 INFO L272 TraceCheckUtils]: 98: Hoare triple {75322#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75321#true} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 99: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-28 09:06:23,097 INFO L290 TraceCheckUtils]: 100: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-28 09:06:23,098 INFO L290 TraceCheckUtils]: 101: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-28 09:06:23,098 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-28 09:06:23,098 INFO L290 TraceCheckUtils]: 103: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-28 09:06:23,098 INFO L290 TraceCheckUtils]: 104: Hoare triple {75322#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75322#false} is VALID [2022-04-28 09:06:23,098 INFO L290 TraceCheckUtils]: 105: Hoare triple {75322#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75322#false} is VALID [2022-04-28 09:06:23,098 INFO L272 TraceCheckUtils]: 106: Hoare triple {75322#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75322#false} is VALID [2022-04-28 09:06:23,098 INFO L290 TraceCheckUtils]: 107: Hoare triple {75322#false} ~cond := #in~cond; {75322#false} is VALID [2022-04-28 09:06:23,098 INFO L290 TraceCheckUtils]: 108: Hoare triple {75322#false} assume 0 == ~cond; {75322#false} is VALID [2022-04-28 09:06:23,098 INFO L290 TraceCheckUtils]: 109: Hoare triple {75322#false} assume !false; {75322#false} is VALID [2022-04-28 09:06:23,098 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 128 proven. 29 refuted. 0 times theorem prover too weak. 162 trivial. 0 not checked. [2022-04-28 09:06:23,099 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:06:23,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1616608995] [2022-04-28 09:06:23,099 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1616608995] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:06:23,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [885044243] [2022-04-28 09:06:23,099 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:06:23,099 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:06:23,099 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:06:23,100 INFO L229 MonitoredProcess]: Starting monitored process 34 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:06:23,101 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Waiting until timeout for monitored process [2022-04-28 09:06:23,239 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:06:23,240 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:06:23,241 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 09:06:23,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:06:23,262 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:06:23,307 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 09:06:23,307 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-28 09:06:23,339 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-28 09:06:23,420 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:06:23,421 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:06:23,495 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:06:23,496 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:06:23,560 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:06:23,560 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:06:23,634 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:06:23,634 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:06:24,134 INFO L390 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 16 treesize of output 18 [2022-04-28 09:06:25,405 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-28 09:06:25,406 INFO L390 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 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-28 09:06:25,488 INFO L272 TraceCheckUtils]: 0: Hoare triple {75321#true} call ULTIMATE.init(); {75321#true} is VALID [2022-04-28 09:06:25,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:06:25,490 INFO L290 TraceCheckUtils]: 2: Hoare triple {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:06:25,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {75321#true} #95#return; {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:06:25,490 INFO L272 TraceCheckUtils]: 4: Hoare triple {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:06:25,491 INFO L290 TraceCheckUtils]: 5: Hoare triple {75416#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {75429#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,491 INFO L290 TraceCheckUtils]: 6: Hoare triple {75429#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75433#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:06:25,492 INFO L290 TraceCheckUtils]: 7: Hoare triple {75433#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75437#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {75437#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75437#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,493 INFO L290 TraceCheckUtils]: 9: Hoare triple {75437#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75444#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,493 INFO L290 TraceCheckUtils]: 10: Hoare triple {75444#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75444#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,494 INFO L290 TraceCheckUtils]: 11: Hoare triple {75444#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75451#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-28 09:06:25,494 INFO L290 TraceCheckUtils]: 12: Hoare triple {75451#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75451#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-28 09:06:25,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {75451#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75458#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} is VALID [2022-04-28 09:06:25,495 INFO L290 TraceCheckUtils]: 14: Hoare triple {75458#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,496 INFO L290 TraceCheckUtils]: 15: Hoare triple {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,496 INFO L290 TraceCheckUtils]: 16: Hoare triple {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,497 INFO L272 TraceCheckUtils]: 17: Hoare triple {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,497 INFO L290 TraceCheckUtils]: 18: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,497 INFO L290 TraceCheckUtils]: 19: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,498 INFO L290 TraceCheckUtils]: 20: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,498 INFO L290 TraceCheckUtils]: 21: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,498 INFO L290 TraceCheckUtils]: 22: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,499 INFO L290 TraceCheckUtils]: 23: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,499 INFO L290 TraceCheckUtils]: 24: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,499 INFO L290 TraceCheckUtils]: 25: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,500 INFO L290 TraceCheckUtils]: 26: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,500 INFO L290 TraceCheckUtils]: 27: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,501 INFO L290 TraceCheckUtils]: 28: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,501 INFO L290 TraceCheckUtils]: 29: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,501 INFO L290 TraceCheckUtils]: 30: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,502 INFO L290 TraceCheckUtils]: 31: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,502 INFO L290 TraceCheckUtils]: 32: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,502 INFO L290 TraceCheckUtils]: 33: Hoare triple {75472#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,503 INFO L290 TraceCheckUtils]: 34: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,504 INFO L290 TraceCheckUtils]: 35: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,504 INFO L290 TraceCheckUtils]: 36: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,505 INFO L290 TraceCheckUtils]: 37: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,505 INFO L290 TraceCheckUtils]: 38: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,506 INFO L290 TraceCheckUtils]: 39: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,506 INFO L290 TraceCheckUtils]: 40: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,507 INFO L290 TraceCheckUtils]: 41: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,507 INFO L290 TraceCheckUtils]: 42: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,508 INFO L290 TraceCheckUtils]: 43: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,508 INFO L290 TraceCheckUtils]: 44: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,509 INFO L290 TraceCheckUtils]: 45: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,510 WARN L290 TraceCheckUtils]: 46: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:06:25,511 INFO L290 TraceCheckUtils]: 47: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,511 INFO L290 TraceCheckUtils]: 48: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,512 INFO L290 TraceCheckUtils]: 49: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,512 INFO L290 TraceCheckUtils]: 50: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,513 INFO L290 TraceCheckUtils]: 51: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,513 INFO L290 TraceCheckUtils]: 52: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,514 INFO L290 TraceCheckUtils]: 53: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,514 INFO L290 TraceCheckUtils]: 54: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,515 INFO L290 TraceCheckUtils]: 55: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,516 WARN L290 TraceCheckUtils]: 56: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:06:25,517 INFO L290 TraceCheckUtils]: 57: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,517 INFO L290 TraceCheckUtils]: 58: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,518 INFO L290 TraceCheckUtils]: 59: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,518 INFO L290 TraceCheckUtils]: 60: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,519 INFO L290 TraceCheckUtils]: 61: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,519 INFO L290 TraceCheckUtils]: 62: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,520 WARN L290 TraceCheckUtils]: 63: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:06:25,521 INFO L290 TraceCheckUtils]: 64: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,521 INFO L290 TraceCheckUtils]: 65: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,522 INFO L290 TraceCheckUtils]: 66: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,523 WARN L290 TraceCheckUtils]: 67: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:06:25,524 INFO L290 TraceCheckUtils]: 68: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,524 INFO L290 TraceCheckUtils]: 69: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume !(~lh~0 < ~n~0); {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,525 INFO L290 TraceCheckUtils]: 70: Hoare triple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} assume true; {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:06:25,526 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {75521#(and (exists ((v_ArrVal_1812 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1812))) (= 3 |~#array~0.base|))} {75462#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #91#return; {75636#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,526 INFO L290 TraceCheckUtils]: 72: Hoare triple {75636#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:06:25,526 INFO L290 TraceCheckUtils]: 73: Hoare triple {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:06:25,527 INFO L272 TraceCheckUtils]: 74: Hoare triple {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,527 INFO L290 TraceCheckUtils]: 75: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} ~cond := #in~cond; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,528 INFO L290 TraceCheckUtils]: 76: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume !(0 == ~cond); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,528 INFO L290 TraceCheckUtils]: 77: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume true; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,528 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:06:25,529 INFO L290 TraceCheckUtils]: 79: Hoare triple {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:06:25,529 INFO L290 TraceCheckUtils]: 80: Hoare triple {75640#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:06:25,530 INFO L290 TraceCheckUtils]: 81: Hoare triple {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:06:25,530 INFO L272 TraceCheckUtils]: 82: Hoare triple {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,531 INFO L290 TraceCheckUtils]: 83: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} ~cond := #in~cond; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,531 INFO L290 TraceCheckUtils]: 84: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume !(0 == ~cond); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,531 INFO L290 TraceCheckUtils]: 85: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume true; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,532 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #93#return; {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:06:25,532 INFO L290 TraceCheckUtils]: 87: Hoare triple {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} havoc #t~mem9; {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:06:25,532 INFO L290 TraceCheckUtils]: 88: Hoare triple {75666#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:06:25,533 INFO L290 TraceCheckUtils]: 89: Hoare triple {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:06:25,534 INFO L272 TraceCheckUtils]: 90: Hoare triple {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,534 INFO L290 TraceCheckUtils]: 91: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} ~cond := #in~cond; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,534 INFO L290 TraceCheckUtils]: 92: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume !(0 == ~cond); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,534 INFO L290 TraceCheckUtils]: 93: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume true; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,535 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #93#return; {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:06:25,535 INFO L290 TraceCheckUtils]: 95: Hoare triple {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} havoc #t~mem9; {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} is VALID [2022-04-28 09:06:25,536 INFO L290 TraceCheckUtils]: 96: Hoare triple {75691#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 2))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,536 INFO L290 TraceCheckUtils]: 97: Hoare triple {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,537 INFO L272 TraceCheckUtils]: 98: Hoare triple {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,537 INFO L290 TraceCheckUtils]: 99: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} ~cond := #in~cond; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,537 INFO L290 TraceCheckUtils]: 100: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume !(0 == ~cond); {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,538 INFO L290 TraceCheckUtils]: 101: Hoare triple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} assume true; {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} is VALID [2022-04-28 09:06:25,538 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {75647#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_45| Int) (|v_main_~#array~1.base_BEFORE_CALL_45| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_45|) (+ |v_main_~#array~1.offset_BEFORE_CALL_45| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_45|))))} {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #93#return; {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,539 INFO L290 TraceCheckUtils]: 103: Hoare triple {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} havoc #t~mem9; {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,539 INFO L290 TraceCheckUtils]: 104: Hoare triple {75716#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {75741#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:06:25,539 INFO L290 TraceCheckUtils]: 105: Hoare triple {75741#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {75745#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} is VALID [2022-04-28 09:06:25,540 INFO L272 TraceCheckUtils]: 106: Hoare triple {75745#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {75749#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:06:25,540 INFO L290 TraceCheckUtils]: 107: Hoare triple {75749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {75753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:06:25,541 INFO L290 TraceCheckUtils]: 108: Hoare triple {75753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {75322#false} is VALID [2022-04-28 09:06:25,541 INFO L290 TraceCheckUtils]: 109: Hoare triple {75322#false} assume !false; {75322#false} is VALID [2022-04-28 09:06:25,541 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 9 proven. 163 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-28 09:06:25,541 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:06:25,883 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1823 (Array Int Int))) (= 4 (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1823) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 16)))) is different from false [2022-04-28 09:06:25,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [885044243] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:06:25,884 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:06:25,884 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 22] total 36 [2022-04-28 09:06:25,884 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:06:25,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1460840188] [2022-04-28 09:06:25,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1460840188] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:06:25,884 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:06:25,884 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 09:06:25,884 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1955697153] [2022-04-28 09:06:25,884 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:06:25,885 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:06:25,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:06:25,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:06:25,921 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:06:25,921 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 09:06:25,921 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:06:25,921 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 09:06:25,921 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=146, Invalid=1654, Unknown=10, NotChecked=82, Total=1892 [2022-04-28 09:06:25,922 INFO L87 Difference]: Start difference. First operand 927 states and 1261 transitions. Second operand has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:06:44,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:06:44,545 INFO L93 Difference]: Finished difference Result 2266 states and 3111 transitions. [2022-04-28 09:06:44,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-28 09:06:44,545 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:06:44,545 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:06:44,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:06:44,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 135 transitions. [2022-04-28 09:06:44,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:06:44,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 135 transitions. [2022-04-28 09:06:44,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 135 transitions. [2022-04-28 09:06:44,676 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:06:44,759 INFO L225 Difference]: With dead ends: 2266 [2022-04-28 09:06:44,759 INFO L226 Difference]: Without dead ends: 1430 [2022-04-28 09:06:44,760 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 203 GetRequests, 122 SyntacticMatches, 12 SemanticMatches, 69 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1060 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=424, Invalid=4400, Unknown=10, NotChecked=136, Total=4970 [2022-04-28 09:06:44,761 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 150 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 629 mSolverCounterSat, 88 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 150 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 717 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 88 IncrementalHoareTripleChecker+Valid, 629 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 09:06:44,761 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [150 Valid, 38 Invalid, 717 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [88 Valid, 629 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 09:06:44,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1430 states. [2022-04-28 09:06:55,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1430 to 1016. [2022-04-28 09:06:55,749 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:06:55,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1430 states. Second operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:06:55,750 INFO L74 IsIncluded]: Start isIncluded. First operand 1430 states. Second operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:06:55,751 INFO L87 Difference]: Start difference. First operand 1430 states. Second operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:06:55,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:06:55,798 INFO L93 Difference]: Finished difference Result 1430 states and 1934 transitions. [2022-04-28 09:06:55,798 INFO L276 IsEmpty]: Start isEmpty. Operand 1430 states and 1934 transitions. [2022-04-28 09:06:55,799 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:06:55,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:06:55,800 INFO L74 IsIncluded]: Start isIncluded. First operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1430 states. [2022-04-28 09:06:55,800 INFO L87 Difference]: Start difference. First operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1430 states. [2022-04-28 09:06:55,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:06:55,848 INFO L93 Difference]: Finished difference Result 1430 states and 1934 transitions. [2022-04-28 09:06:55,848 INFO L276 IsEmpty]: Start isEmpty. Operand 1430 states and 1934 transitions. [2022-04-28 09:06:55,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:06:55,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:06:55,849 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:06:55,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:06:55,850 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1016 states, 1000 states have (on average 1.384) internal successors, (1384), 1001 states have internal predecessors, (1384), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:06:55,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1016 states to 1016 states and 1399 transitions. [2022-04-28 09:06:55,888 INFO L78 Accepts]: Start accepts. Automaton has 1016 states and 1399 transitions. Word has length 110 [2022-04-28 09:06:55,888 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:06:55,888 INFO L495 AbstractCegarLoop]: Abstraction has 1016 states and 1399 transitions. [2022-04-28 09:06:55,888 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.8125) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:06:55,888 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 1016 states and 1399 transitions. [2022-04-28 09:07:02,573 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1399 edges. 1399 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:07:02,573 INFO L276 IsEmpty]: Start isEmpty. Operand 1016 states and 1399 transitions. [2022-04-28 09:07:02,574 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 09:07:02,574 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:07:02,574 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:07:02,596 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Ended with exit code 0 [2022-04-28 09:07:02,775 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 34 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable34 [2022-04-28 09:07:02,775 INFO L420 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:07:02,775 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:07:02,775 INFO L85 PathProgramCache]: Analyzing trace with hash 1361698550, now seen corresponding path program 21 times [2022-04-28 09:07:02,775 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:07:02,775 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [413551869] [2022-04-28 09:07:02,777 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:07:02,777 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:07:02,777 INFO L85 PathProgramCache]: Analyzing trace with hash 1361698550, now seen corresponding path program 22 times [2022-04-28 09:07:02,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:07:02,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [85728775] [2022-04-28 09:07:02,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:07:02,778 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:07:02,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:02,854 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:07:02,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:02,861 INFO L290 TraceCheckUtils]: 0: Hoare triple {85439#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:02,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:02,862 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {85363#true} #95#return; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:02,865 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:07:02,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:03,262 INFO L290 TraceCheckUtils]: 0: Hoare triple {85440#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {85363#true} is VALID [2022-04-28 09:07:03,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85441#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:07:03,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {85441#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85442#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:07:03,264 INFO L290 TraceCheckUtils]: 3: Hoare triple {85442#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85443#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:07:03,264 INFO L290 TraceCheckUtils]: 4: Hoare triple {85443#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85444#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-28 09:07:03,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {85444#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85445#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:07:03,266 INFO L290 TraceCheckUtils]: 6: Hoare triple {85445#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85446#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:07:03,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {85446#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:07:03,267 INFO L290 TraceCheckUtils]: 8: Hoare triple {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:07:03,267 INFO L290 TraceCheckUtils]: 9: Hoare triple {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85448#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:07:03,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {85448#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:07:03,268 INFO L290 TraceCheckUtils]: 11: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:07:03,269 INFO L290 TraceCheckUtils]: 12: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:07:03,269 INFO L290 TraceCheckUtils]: 13: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:07:03,269 INFO L290 TraceCheckUtils]: 14: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(~i~0 < ~n~0); {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:07:03,270 INFO L290 TraceCheckUtils]: 15: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85450#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:07:03,271 INFO L290 TraceCheckUtils]: 16: Hoare triple {85450#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85451#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:07:03,272 INFO L290 TraceCheckUtils]: 17: Hoare triple {85451#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:07:03,272 INFO L290 TraceCheckUtils]: 18: Hoare triple {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85453#(and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:07:03,273 INFO L290 TraceCheckUtils]: 19: Hoare triple {85453#(and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:07:03,273 INFO L290 TraceCheckUtils]: 20: Hoare triple {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85454#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:07:03,274 INFO L290 TraceCheckUtils]: 21: Hoare triple {85454#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:07:03,274 INFO L290 TraceCheckUtils]: 22: Hoare triple {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-28 09:07:03,274 INFO L290 TraceCheckUtils]: 23: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:03,274 INFO L290 TraceCheckUtils]: 24: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,274 INFO L290 TraceCheckUtils]: 25: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-28 09:07:03,274 INFO L290 TraceCheckUtils]: 26: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:03,274 INFO L290 TraceCheckUtils]: 27: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:03,274 INFO L290 TraceCheckUtils]: 28: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,274 INFO L290 TraceCheckUtils]: 29: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 30: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 31: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 32: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 33: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 34: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 35: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 37: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 38: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 39: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 40: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 41: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 42: Hoare triple {85364#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 43: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:03,275 INFO L290 TraceCheckUtils]: 44: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:03,276 INFO L290 TraceCheckUtils]: 45: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,276 INFO L290 TraceCheckUtils]: 46: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:03,276 INFO L290 TraceCheckUtils]: 47: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-28 09:07:03,276 INFO L290 TraceCheckUtils]: 48: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:03,276 INFO L290 TraceCheckUtils]: 49: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,276 INFO L290 TraceCheckUtils]: 50: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:03,276 INFO L290 TraceCheckUtils]: 51: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:03,276 INFO L290 TraceCheckUtils]: 52: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-28 09:07:03,276 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {85364#false} {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {85364#false} is VALID [2022-04-28 09:07:03,276 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:07:03,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:03,278 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:03,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:03,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:03,279 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:03,279 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:07:03,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:03,280 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:03,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:03,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:03,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:03,281 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:07:03,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:03,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:03,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:03,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:03,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:03,282 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-28 09:07:03,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:03,288 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:03,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:03,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:03,288 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:03,289 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85439#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:07:03,290 INFO L290 TraceCheckUtils]: 1: Hoare triple {85439#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,290 INFO L290 TraceCheckUtils]: 2: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume true; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,290 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} {85363#true} #95#return; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,291 INFO L290 TraceCheckUtils]: 6: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,292 INFO L290 TraceCheckUtils]: 9: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,293 INFO L290 TraceCheckUtils]: 10: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,294 INFO L290 TraceCheckUtils]: 12: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,294 INFO L290 TraceCheckUtils]: 13: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,294 INFO L290 TraceCheckUtils]: 14: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,295 INFO L290 TraceCheckUtils]: 15: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,295 INFO L290 TraceCheckUtils]: 16: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:07:03,295 INFO L272 TraceCheckUtils]: 17: Hoare triple {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} call SelectionSort(); {85440#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:07:03,296 INFO L290 TraceCheckUtils]: 18: Hoare triple {85440#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {85363#true} is VALID [2022-04-28 09:07:03,296 INFO L290 TraceCheckUtils]: 19: Hoare triple {85363#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85441#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:07:03,297 INFO L290 TraceCheckUtils]: 20: Hoare triple {85441#(and (= SelectionSort_~lh~0 SelectionSort_~rh~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85442#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} is VALID [2022-04-28 09:07:03,297 INFO L290 TraceCheckUtils]: 21: Hoare triple {85442#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85443#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:07:03,298 INFO L290 TraceCheckUtils]: 22: Hoare triple {85443#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85444#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} is VALID [2022-04-28 09:07:03,298 INFO L290 TraceCheckUtils]: 23: Hoare triple {85444#(and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85445#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:07:03,299 INFO L290 TraceCheckUtils]: 24: Hoare triple {85445#(and (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85446#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:07:03,300 INFO L290 TraceCheckUtils]: 25: Hoare triple {85446#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:07:03,300 INFO L290 TraceCheckUtils]: 26: Hoare triple {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:07:03,300 INFO L290 TraceCheckUtils]: 27: Hoare triple {85447#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85448#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:07:03,301 INFO L290 TraceCheckUtils]: 28: Hoare triple {85448#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:07:03,302 INFO L290 TraceCheckUtils]: 29: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:07:03,302 INFO L290 TraceCheckUtils]: 30: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:07:03,302 INFO L290 TraceCheckUtils]: 31: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:07:03,303 INFO L290 TraceCheckUtils]: 32: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} assume !(~i~0 < ~n~0); {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} is VALID [2022-04-28 09:07:03,304 INFO L290 TraceCheckUtils]: 33: Hoare triple {85449#(and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ 12 (* SelectionSort_~lh~0 4)) (* SelectionSort_~rh~0 4)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85450#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:07:03,304 INFO L290 TraceCheckUtils]: 34: Hoare triple {85450#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85451#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:07:03,305 INFO L290 TraceCheckUtils]: 35: Hoare triple {85451#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:07:03,306 INFO L290 TraceCheckUtils]: 36: Hoare triple {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85453#(and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:07:03,306 INFO L290 TraceCheckUtils]: 37: Hoare triple {85453#(and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (+ |SelectionSort_#t~mem4| 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:07:03,307 INFO L290 TraceCheckUtils]: 38: Hoare triple {85452#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85454#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:07:03,307 INFO L290 TraceCheckUtils]: 39: Hoare triple {85454#(<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:07:03,307 INFO L290 TraceCheckUtils]: 40: Hoare triple {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 41: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 42: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 43: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 44: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 45: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 46: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 47: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 48: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 49: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 50: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 51: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 52: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 53: Hoare triple {85364#false} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 54: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:03,308 INFO L290 TraceCheckUtils]: 56: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 57: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 58: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 59: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 60: Hoare triple {85364#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 61: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 63: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 64: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 65: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 67: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 68: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85368#(and (<= 0 |~#array~0.offset|) (<= |~#array~0.offset| 0))} #91#return; {85364#false} is VALID [2022-04-28 09:07:03,309 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 73: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:03,310 INFO L272 TraceCheckUtils]: 74: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 75: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 76: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 77: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:03,310 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 80: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 81: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:03,310 INFO L272 TraceCheckUtils]: 82: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 83: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 84: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 85: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:03,310 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:03,310 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 88: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 89: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:03,311 INFO L272 TraceCheckUtils]: 90: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 91: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 92: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 93: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:03,311 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 96: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 97: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:03,311 INFO L272 TraceCheckUtils]: 98: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 99: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 100: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 101: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:03,311 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:03,311 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:03,312 INFO L290 TraceCheckUtils]: 104: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:03,312 INFO L290 TraceCheckUtils]: 105: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:03,312 INFO L272 TraceCheckUtils]: 106: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-28 09:07:03,312 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-28 09:07:03,312 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-28 09:07:03,312 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-28 09:07:03,312 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 130 proven. 45 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-28 09:07:03,312 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:07:03,312 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [85728775] [2022-04-28 09:07:03,313 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [85728775] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:07:03,313 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1162034664] [2022-04-28 09:07:03,313 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:07:03,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:07:03,313 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:07:03,314 INFO L229 MonitoredProcess]: Starting monitored process 35 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:07:03,314 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Waiting until timeout for monitored process [2022-04-28 09:07:03,451 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:07:03,451 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:07:03,453 INFO L263 TraceCheckSpWp]: Trace formula consists of 322 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-28 09:07:03,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:03,474 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:07:03,719 INFO L356 Elim1Store]: treesize reduction 39, result has 22.0 percent of original size [2022-04-28 09:07:03,719 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 1 case distinctions, treesize of input 23 treesize of output 24 [2022-04-28 09:07:04,121 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-28 09:07:04,122 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 4 case distinctions, treesize of input 55 treesize of output 42 [2022-04-28 09:07:04,339 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-28 09:07:04,340 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 34 treesize of output 10 [2022-04-28 09:07:04,447 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85363#true} is VALID [2022-04-28 09:07:04,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {85363#true} is VALID [2022-04-28 09:07:04,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:04,447 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85363#true} #95#return; {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L272 TraceCheckUtils]: 4: Hoare triple {85363#true} call #t~ret10 := main(); {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {85363#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 6: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 7: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 8: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 9: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 10: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 11: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 14: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 15: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L290 TraceCheckUtils]: 16: Hoare triple {85363#true} assume !(~i~1 >= 0); {85363#true} is VALID [2022-04-28 09:07:04,448 INFO L272 TraceCheckUtils]: 17: Hoare triple {85363#true} call SelectionSort(); {85363#true} is VALID [2022-04-28 09:07:04,449 INFO L290 TraceCheckUtils]: 18: Hoare triple {85363#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {85513#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:07:04,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {85513#(= SelectionSort_~lh~0 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,450 INFO L290 TraceCheckUtils]: 21: Hoare triple {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,450 INFO L290 TraceCheckUtils]: 22: Hoare triple {85517#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,451 INFO L290 TraceCheckUtils]: 23: Hoare triple {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,451 INFO L290 TraceCheckUtils]: 24: Hoare triple {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,451 INFO L290 TraceCheckUtils]: 25: Hoare triple {85527#(and (= (+ SelectionSort_~lh~0 1) (+ (- 1) SelectionSort_~i~0)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85537#(and (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,452 INFO L290 TraceCheckUtils]: 26: Hoare triple {85537#(and (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85537#(and (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,452 INFO L290 TraceCheckUtils]: 27: Hoare triple {85537#(and (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85544#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,453 INFO L290 TraceCheckUtils]: 28: Hoare triple {85544#(and (= SelectionSort_~i~0 SelectionSort_~rh~0) (= (+ (- 2) SelectionSort_~i~0) (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,453 INFO L290 TraceCheckUtils]: 29: Hoare triple {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,453 INFO L290 TraceCheckUtils]: 30: Hoare triple {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,454 INFO L290 TraceCheckUtils]: 31: Hoare triple {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,454 INFO L290 TraceCheckUtils]: 32: Hoare triple {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} assume !(~i~0 < ~n~0); {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} is VALID [2022-04-28 09:07:04,454 INFO L290 TraceCheckUtils]: 33: Hoare triple {85548#(and (= (+ SelectionSort_~lh~0 1) (+ (- 2) SelectionSort_~rh~0)) (= SelectionSort_~lh~0 0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85513#(= SelectionSort_~lh~0 0)} is VALID [2022-04-28 09:07:04,455 INFO L290 TraceCheckUtils]: 34: Hoare triple {85513#(= SelectionSort_~lh~0 0)} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85567#(= (+ (- 1) SelectionSort_~lh~0) 0)} is VALID [2022-04-28 09:07:04,455 INFO L290 TraceCheckUtils]: 35: Hoare triple {85567#(= (+ (- 1) SelectionSort_~lh~0) 0)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-28 09:07:04,455 INFO L290 TraceCheckUtils]: 36: Hoare triple {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-28 09:07:04,456 INFO L290 TraceCheckUtils]: 37: Hoare triple {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} is VALID [2022-04-28 09:07:04,456 INFO L290 TraceCheckUtils]: 38: Hoare triple {85571#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85581#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:07:04,457 INFO L290 TraceCheckUtils]: 39: Hoare triple {85581#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85585#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:07:04,457 INFO L290 TraceCheckUtils]: 40: Hoare triple {85585#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85589#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:07:04,458 INFO L290 TraceCheckUtils]: 41: Hoare triple {85589#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85593#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:07:04,458 INFO L290 TraceCheckUtils]: 42: Hoare triple {85593#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85593#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:07:04,459 INFO L290 TraceCheckUtils]: 43: Hoare triple {85593#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (- 4) |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ SelectionSort_~lh~0 2) (+ (- 1) SelectionSort_~i~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:07:04,459 INFO L290 TraceCheckUtils]: 44: Hoare triple {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:07:04,460 INFO L290 TraceCheckUtils]: 45: Hoare triple {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} assume !(~i~0 < ~n~0); {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} is VALID [2022-04-28 09:07:04,460 INFO L290 TraceCheckUtils]: 46: Hoare triple {85600#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) (- 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= (+ (- 1) SelectionSort_~rh~0) (+ SelectionSort_~lh~0 2)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85610#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:07:04,461 INFO L290 TraceCheckUtils]: 47: Hoare triple {85610#(and (= (+ (- 1) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85614#(and (= (+ (- 2) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:07:04,461 INFO L290 TraceCheckUtils]: 48: Hoare triple {85614#(and (= (+ (- 2) SelectionSort_~lh~0) 0) (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85618#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0))} is VALID [2022-04-28 09:07:04,462 INFO L290 TraceCheckUtils]: 49: Hoare triple {85618#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85618#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0))} is VALID [2022-04-28 09:07:04,462 INFO L290 TraceCheckUtils]: 50: Hoare triple {85618#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= (+ SelectionSort_~i~0 (- 3)) 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85625#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (= (+ SelectionSort_~i~0 (- 3)) 0))} is VALID [2022-04-28 09:07:04,463 INFO L290 TraceCheckUtils]: 51: Hoare triple {85625#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (= SelectionSort_~i~0 SelectionSort_~rh~0) (= (+ SelectionSort_~i~0 (- 3)) 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85629#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (= SelectionSort_~i~0 4))} is VALID [2022-04-28 09:07:04,463 INFO L290 TraceCheckUtils]: 52: Hoare triple {85629#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12)) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (= SelectionSort_~rh~0 3) (= SelectionSort_~i~0 4))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 53: Hoare triple {85455#(<= (+ |SelectionSort_#t~mem4| 1) |SelectionSort_#t~mem3|)} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 54: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 56: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 57: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 58: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 59: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 60: Hoare triple {85364#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 61: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 63: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 64: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:04,464 INFO L290 TraceCheckUtils]: 65: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 67: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 68: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85363#true} #91#return; {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 73: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L272 TraceCheckUtils]: 74: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 75: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 76: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 77: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:04,465 INFO L290 TraceCheckUtils]: 80: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L290 TraceCheckUtils]: 81: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L272 TraceCheckUtils]: 82: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L290 TraceCheckUtils]: 83: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L290 TraceCheckUtils]: 84: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L290 TraceCheckUtils]: 85: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L290 TraceCheckUtils]: 88: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L290 TraceCheckUtils]: 89: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L272 TraceCheckUtils]: 90: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L290 TraceCheckUtils]: 91: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L290 TraceCheckUtils]: 92: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L290 TraceCheckUtils]: 93: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-28 09:07:04,466 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 96: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 97: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L272 TraceCheckUtils]: 98: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 99: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 100: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 101: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 104: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 105: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L272 TraceCheckUtils]: 106: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-28 09:07:04,467 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-28 09:07:04,468 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 90 proven. 123 refuted. 0 times theorem prover too weak. 106 trivial. 0 not checked. [2022-04-28 09:07:04,468 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:07:06,679 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-28 09:07:06,680 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-28 09:07:06,680 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-28 09:07:06,680 INFO L272 TraceCheckUtils]: 106: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85364#false} is VALID [2022-04-28 09:07:06,680 INFO L290 TraceCheckUtils]: 105: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:06,680 INFO L290 TraceCheckUtils]: 104: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:06,680 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:06,680 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:06,680 INFO L290 TraceCheckUtils]: 101: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:06,680 INFO L290 TraceCheckUtils]: 100: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:06,680 INFO L290 TraceCheckUtils]: 99: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:06,680 INFO L272 TraceCheckUtils]: 98: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-28 09:07:06,680 INFO L290 TraceCheckUtils]: 97: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 96: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:06,681 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 93: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 92: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 91: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:06,681 INFO L272 TraceCheckUtils]: 90: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 89: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 88: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:06,681 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 85: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 84: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:06,681 INFO L290 TraceCheckUtils]: 83: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:06,681 INFO L272 TraceCheckUtils]: 82: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 81: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 80: Hoare triple {85364#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 77: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 76: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 75: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-28 09:07:06,682 INFO L272 TraceCheckUtils]: 74: Hoare triple {85364#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {85363#true} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 73: Hoare triple {85364#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85363#true} #91#return; {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 68: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 67: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:06,682 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 65: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 64: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 63: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 61: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 60: Hoare triple {85364#false} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 59: Hoare triple {85364#false} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 58: Hoare triple {85364#false} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 57: Hoare triple {85364#false} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 56: Hoare triple {85364#false} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-28 09:07:06,683 INFO L290 TraceCheckUtils]: 54: Hoare triple {85364#false} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85364#false} is VALID [2022-04-28 09:07:06,684 INFO L290 TraceCheckUtils]: 53: Hoare triple {85975#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85364#false} is VALID [2022-04-28 09:07:06,684 INFO L290 TraceCheckUtils]: 52: Hoare triple {85979#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85975#(not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|))} is VALID [2022-04-28 09:07:06,685 INFO L290 TraceCheckUtils]: 51: Hoare triple {85983#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85979#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:07:06,685 INFO L290 TraceCheckUtils]: 50: Hoare triple {85987#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85983#(<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:07:06,686 INFO L290 TraceCheckUtils]: 49: Hoare triple {85987#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85987#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:07:06,686 INFO L290 TraceCheckUtils]: 48: Hoare triple {85994#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85987#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:07:06,687 INFO L290 TraceCheckUtils]: 47: Hoare triple {85998#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85994#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:07:06,688 INFO L290 TraceCheckUtils]: 46: Hoare triple {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85998#(<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:07:06,689 INFO L290 TraceCheckUtils]: 45: Hoare triple {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !(~i~0 < ~n~0); {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:07:06,689 INFO L290 TraceCheckUtils]: 44: Hoare triple {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:07:06,690 INFO L290 TraceCheckUtils]: 43: Hoare triple {86012#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {86002#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:07:06,690 INFO L290 TraceCheckUtils]: 42: Hoare triple {86012#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {86012#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:07:06,692 INFO L290 TraceCheckUtils]: 41: Hoare triple {86019#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {86012#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:07:06,693 INFO L290 TraceCheckUtils]: 40: Hoare triple {86023#(or (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {86019#(forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))))))} is VALID [2022-04-28 09:07:06,694 INFO L290 TraceCheckUtils]: 39: Hoare triple {86027#(or (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {86023#(or (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:07:06,697 INFO L290 TraceCheckUtils]: 38: Hoare triple {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {86027#(or (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))} is VALID [2022-04-28 09:07:06,698 INFO L290 TraceCheckUtils]: 37: Hoare triple {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:07:06,699 INFO L290 TraceCheckUtils]: 36: Hoare triple {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:07:06,700 INFO L290 TraceCheckUtils]: 35: Hoare triple {85363#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {86031#(or (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4)))) (forall ((v_ArrVal_1897 Int) (v_ArrVal_1896 Int)) (or (<= (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (store (store (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) v_ArrVal_1897) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4)) v_ArrVal_1896) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4)))) (< v_ArrVal_1896 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))))))} is VALID [2022-04-28 09:07:06,700 INFO L290 TraceCheckUtils]: 34: Hoare triple {85363#true} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {85363#true} is VALID [2022-04-28 09:07:06,700 INFO L290 TraceCheckUtils]: 33: Hoare triple {85363#true} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 32: Hoare triple {85363#true} assume !(~i~0 < ~n~0); {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 31: Hoare triple {85363#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 30: Hoare triple {85363#true} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 29: Hoare triple {85363#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 28: Hoare triple {85363#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 27: Hoare triple {85363#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 26: Hoare triple {85363#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 25: Hoare triple {85363#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 24: Hoare triple {85363#true} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 23: Hoare triple {85363#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 22: Hoare triple {85363#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 21: Hoare triple {85363#true} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 20: Hoare triple {85363#true} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 19: Hoare triple {85363#true} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {85363#true} is VALID [2022-04-28 09:07:06,701 INFO L290 TraceCheckUtils]: 18: Hoare triple {85363#true} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L272 TraceCheckUtils]: 17: Hoare triple {85363#true} call SelectionSort(); {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 16: Hoare triple {85363#true} assume !(~i~1 >= 0); {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 15: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 14: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 13: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 12: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 11: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 10: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 9: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 8: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 7: Hoare triple {85363#true} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 6: Hoare triple {85363#true} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L290 TraceCheckUtils]: 5: Hoare triple {85363#true} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {85363#true} is VALID [2022-04-28 09:07:06,702 INFO L272 TraceCheckUtils]: 4: Hoare triple {85363#true} call #t~ret10 := main(); {85363#true} is VALID [2022-04-28 09:07:06,703 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85363#true} #95#return; {85363#true} is VALID [2022-04-28 09:07:06,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-28 09:07:06,703 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {85363#true} is VALID [2022-04-28 09:07:06,703 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85363#true} is VALID [2022-04-28 09:07:06,703 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 171 proven. 28 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-28 09:07:06,703 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1162034664] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 09:07:06,703 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 09:07:06,703 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 21, 14] total 50 [2022-04-28 09:07:06,704 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:07:06,704 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [413551869] [2022-04-28 09:07:06,704 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [413551869] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:07:06,704 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:07:06,704 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-28 09:07:06,704 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1777358962] [2022-04-28 09:07:06,704 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:07:06,704 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:07:06,704 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:07:06,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:07:06,743 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:07:06,743 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-28 09:07:06,743 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:07:06,743 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-28 09:07:06,743 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=160, Invalid=2289, Unknown=1, NotChecked=0, Total=2450 [2022-04-28 09:07:06,744 INFO L87 Difference]: Start difference. First operand 1016 states and 1399 transitions. Second operand has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:07:27,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:07:27,288 INFO L93 Difference]: Finished difference Result 2132 states and 2958 transitions. [2022-04-28 09:07:27,288 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-28 09:07:27,288 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:07:27,288 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:07:27,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:07:27,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 161 transitions. [2022-04-28 09:07:27,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:07:27,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 161 transitions. [2022-04-28 09:07:27,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 161 transitions. [2022-04-28 09:07:27,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:07:27,526 INFO L225 Difference]: With dead ends: 2132 [2022-04-28 09:07:27,526 INFO L226 Difference]: Without dead ends: 1431 [2022-04-28 09:07:27,528 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 285 GetRequests, 201 SyntacticMatches, 1 SemanticMatches, 83 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1572 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=548, Invalid=6591, Unknown=1, NotChecked=0, Total=7140 [2022-04-28 09:07:27,528 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 124 mSDsluCounter, 15 mSDsCounter, 0 mSdLazyCounter, 1177 mSolverCounterSat, 78 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 124 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 1255 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 78 IncrementalHoareTripleChecker+Valid, 1177 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-28 09:07:27,528 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [124 Valid, 45 Invalid, 1255 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [78 Valid, 1177 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-28 09:07:27,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1431 states. [2022-04-28 09:07:40,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1431 to 1146. [2022-04-28 09:07:40,156 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:07:40,157 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1431 states. Second operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:07:40,157 INFO L74 IsIncluded]: Start isIncluded. First operand 1431 states. Second operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:07:40,158 INFO L87 Difference]: Start difference. First operand 1431 states. Second operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:07:40,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:07:40,207 INFO L93 Difference]: Finished difference Result 1431 states and 1962 transitions. [2022-04-28 09:07:40,208 INFO L276 IsEmpty]: Start isEmpty. Operand 1431 states and 1962 transitions. [2022-04-28 09:07:40,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:07:40,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:07:40,210 INFO L74 IsIncluded]: Start isIncluded. First operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1431 states. [2022-04-28 09:07:40,210 INFO L87 Difference]: Start difference. First operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 1431 states. [2022-04-28 09:07:40,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:07:40,263 INFO L93 Difference]: Finished difference Result 1431 states and 1962 transitions. [2022-04-28 09:07:40,263 INFO L276 IsEmpty]: Start isEmpty. Operand 1431 states and 1962 transitions. [2022-04-28 09:07:40,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:07:40,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:07:40,264 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:07:40,264 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:07:40,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1146 states, 1130 states have (on average 1.3654867256637169) internal successors, (1543), 1131 states have internal predecessors, (1543), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:07:40,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1146 states to 1146 states and 1558 transitions. [2022-04-28 09:07:40,323 INFO L78 Accepts]: Start accepts. Automaton has 1146 states and 1558 transitions. Word has length 110 [2022-04-28 09:07:40,323 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:07:40,323 INFO L495 AbstractCegarLoop]: Abstraction has 1146 states and 1558 transitions. [2022-04-28 09:07:40,324 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 2.45) internal successors, (49), 18 states have internal predecessors, (49), 3 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:07:40,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 1146 states and 1558 transitions. [2022-04-28 09:07:47,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1558 edges. 1558 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:07:47,920 INFO L276 IsEmpty]: Start isEmpty. Operand 1146 states and 1558 transitions. [2022-04-28 09:07:47,921 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 09:07:47,921 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:07:47,921 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:07:47,937 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Ended with exit code 0 [2022-04-28 09:07:48,121 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 35 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable35 [2022-04-28 09:07:48,122 INFO L420 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:07:48,122 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:07:48,122 INFO L85 PathProgramCache]: Analyzing trace with hash -1024810956, now seen corresponding path program 23 times [2022-04-28 09:07:48,122 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:07:48,122 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [320243500] [2022-04-28 09:07:48,124 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:07:48,124 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:07:48,124 INFO L85 PathProgramCache]: Analyzing trace with hash -1024810956, now seen corresponding path program 24 times [2022-04-28 09:07:48,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:07:48,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1095801930] [2022-04-28 09:07:48,124 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:07:48,124 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:07:48,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:48,244 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:07:48,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:48,255 INFO L290 TraceCheckUtils]: 0: Hoare triple {95711#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:48,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume true; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:48,256 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} {95634#true} #95#return; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:48,261 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:07:48,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:49,600 INFO L290 TraceCheckUtils]: 0: Hoare triple {95712#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {95713#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:07:49,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {95713#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:07:49,602 INFO L290 TraceCheckUtils]: 2: Hoare triple {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:07:49,602 INFO L290 TraceCheckUtils]: 3: Hoare triple {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95715#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:07:49,603 INFO L290 TraceCheckUtils]: 4: Hoare triple {95715#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95716#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) 4))} is VALID [2022-04-28 09:07:49,603 INFO L290 TraceCheckUtils]: 5: Hoare triple {95716#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) 4))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95717#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (= |SelectionSort_#t~mem4| 0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (= (* SelectionSort_~rh~0 4) 4))) (<= 2 SelectionSort_~i~0) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (not (= |SelectionSort_#t~mem4| 0))))} is VALID [2022-04-28 09:07:49,604 INFO L290 TraceCheckUtils]: 6: Hoare triple {95717#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (= |SelectionSort_#t~mem4| 0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (= (* SelectionSort_~rh~0 4) 4))) (<= 2 SelectionSort_~i~0) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (not (= |SelectionSort_#t~mem4| 0))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95718#(and (or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-28 09:07:49,605 INFO L290 TraceCheckUtils]: 7: Hoare triple {95718#(and (or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= 2 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95719#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4))))} is VALID [2022-04-28 09:07:49,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {95719#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95720#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0))} is VALID [2022-04-28 09:07:49,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {95720#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95721#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~rh~0 SelectionSort_~i~0) (<= SelectionSort_~i~0 3) (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))) (<= 3 SelectionSort_~i~0))} is VALID [2022-04-28 09:07:49,607 INFO L290 TraceCheckUtils]: 10: Hoare triple {95721#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~rh~0 SelectionSort_~i~0) (<= SelectionSort_~i~0 3) (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))) (<= 3 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95722#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:07:49,608 INFO L290 TraceCheckUtils]: 11: Hoare triple {95722#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95723#(and (or (not (= |SelectionSort_#t~mem3| 0)) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} is VALID [2022-04-28 09:07:49,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {95723#(and (or (not (= |SelectionSort_#t~mem3| 0)) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95724#(and (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))))} is VALID [2022-04-28 09:07:49,611 INFO L290 TraceCheckUtils]: 13: Hoare triple {95724#(and (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95725#(or (and (<= SelectionSort_~i~0 ~n~0) (or (< SelectionSort_~i~0 ~n~0) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))) (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))))))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-28 09:07:49,612 INFO L290 TraceCheckUtils]: 14: Hoare triple {95725#(or (and (<= SelectionSort_~i~0 ~n~0) (or (< SelectionSort_~i~0 ~n~0) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))) (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))))))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} assume !(~i~0 < ~n~0); {95726#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))} is VALID [2022-04-28 09:07:49,614 INFO L290 TraceCheckUtils]: 15: Hoare triple {95726#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95727#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,615 INFO L290 TraceCheckUtils]: 16: Hoare triple {95727#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95728#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:07:49,616 INFO L290 TraceCheckUtils]: 17: Hoare triple {95728#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:07:49,616 INFO L290 TraceCheckUtils]: 18: Hoare triple {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95730#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:07:49,617 INFO L290 TraceCheckUtils]: 19: Hoare triple {95730#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:07:49,618 INFO L290 TraceCheckUtils]: 20: Hoare triple {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-28 09:07:49,618 INFO L290 TraceCheckUtils]: 21: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-28 09:07:49,619 INFO L290 TraceCheckUtils]: 22: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-28 09:07:49,620 INFO L290 TraceCheckUtils]: 23: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95732#(or (<= ~n~0 SelectionSort_~i~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))))} is VALID [2022-04-28 09:07:49,620 INFO L290 TraceCheckUtils]: 24: Hoare triple {95732#(or (<= ~n~0 SelectionSort_~i~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95733#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:07:49,621 INFO L290 TraceCheckUtils]: 25: Hoare triple {95733#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95734#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,621 INFO L290 TraceCheckUtils]: 26: Hoare triple {95734#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,622 INFO L290 TraceCheckUtils]: 27: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,622 INFO L290 TraceCheckUtils]: 28: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,623 INFO L290 TraceCheckUtils]: 29: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95736#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 3) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,623 INFO L290 TraceCheckUtils]: 30: Hoare triple {95736#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 3) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,624 INFO L290 TraceCheckUtils]: 31: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,624 INFO L290 TraceCheckUtils]: 32: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,625 INFO L290 TraceCheckUtils]: 33: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:07:49,625 INFO L290 TraceCheckUtils]: 34: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:07:49,625 INFO L290 TraceCheckUtils]: 35: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:07:49,626 INFO L290 TraceCheckUtils]: 36: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95739#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (<= (+ SelectionSort_~i~0 1) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,626 INFO L290 TraceCheckUtils]: 37: Hoare triple {95739#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (<= (+ SelectionSort_~i~0 1) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,627 INFO L290 TraceCheckUtils]: 38: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,627 INFO L290 TraceCheckUtils]: 39: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,628 INFO L290 TraceCheckUtils]: 40: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,628 INFO L290 TraceCheckUtils]: 41: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,629 INFO L290 TraceCheckUtils]: 42: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,629 INFO L290 TraceCheckUtils]: 43: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,629 INFO L290 TraceCheckUtils]: 44: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,630 INFO L290 TraceCheckUtils]: 45: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,630 INFO L290 TraceCheckUtils]: 46: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,630 INFO L290 TraceCheckUtils]: 47: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,631 INFO L290 TraceCheckUtils]: 48: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,631 INFO L290 TraceCheckUtils]: 49: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,632 INFO L290 TraceCheckUtils]: 50: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,632 INFO L290 TraceCheckUtils]: 51: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~lh~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,632 INFO L290 TraceCheckUtils]: 52: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume true; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,633 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #91#return; {95635#false} is VALID [2022-04-28 09:07:49,634 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:07:49,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:49,636 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-28 09:07:49,636 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-28 09:07:49,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-28 09:07:49,636 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-28 09:07:49,636 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:07:49,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:49,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-28 09:07:49,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-28 09:07:49,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-28 09:07:49,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-28 09:07:49,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:07:49,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:49,639 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-28 09:07:49,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-28 09:07:49,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-28 09:07:49,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-28 09:07:49,639 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-28 09:07:49,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:49,652 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-28 09:07:49,652 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-28 09:07:49,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-28 09:07:49,652 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-28 09:07:49,653 INFO L272 TraceCheckUtils]: 0: Hoare triple {95634#true} call ULTIMATE.init(); {95711#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:07:49,653 INFO L290 TraceCheckUtils]: 1: Hoare triple {95711#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume true; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,655 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} {95634#true} #95#return; {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,655 INFO L272 TraceCheckUtils]: 4: Hoare triple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} call #t~ret10 := main(); {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {95639#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,656 INFO L290 TraceCheckUtils]: 6: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,657 INFO L290 TraceCheckUtils]: 7: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,658 INFO L290 TraceCheckUtils]: 9: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,659 INFO L290 TraceCheckUtils]: 10: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,660 INFO L290 TraceCheckUtils]: 12: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,661 INFO L290 TraceCheckUtils]: 14: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,661 INFO L290 TraceCheckUtils]: 15: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,662 INFO L290 TraceCheckUtils]: 16: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} assume !(~i~1 >= 0); {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} is VALID [2022-04-28 09:07:49,662 INFO L272 TraceCheckUtils]: 17: Hoare triple {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} call SelectionSort(); {95712#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:07:49,663 INFO L290 TraceCheckUtils]: 18: Hoare triple {95712#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {95713#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:07:49,663 INFO L290 TraceCheckUtils]: 19: Hoare triple {95713#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:07:49,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:07:49,664 INFO L290 TraceCheckUtils]: 21: Hoare triple {95714#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95715#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} is VALID [2022-04-28 09:07:49,665 INFO L290 TraceCheckUtils]: 22: Hoare triple {95715#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95716#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) 4))} is VALID [2022-04-28 09:07:49,674 INFO L290 TraceCheckUtils]: 23: Hoare triple {95716#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0) (= (* SelectionSort_~rh~0 4) 4))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95717#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (= |SelectionSort_#t~mem4| 0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (= (* SelectionSort_~rh~0 4) 4))) (<= 2 SelectionSort_~i~0) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (not (= |SelectionSort_#t~mem4| 0))))} is VALID [2022-04-28 09:07:49,675 INFO L290 TraceCheckUtils]: 24: Hoare triple {95717#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (= |SelectionSort_#t~mem4| 0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (= (* SelectionSort_~rh~0 4) 4))) (<= 2 SelectionSort_~i~0) (or (and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) |SelectionSort_#t~mem4|) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2))) (not (= |SelectionSort_#t~mem4| 0))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95718#(and (or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-28 09:07:49,676 INFO L290 TraceCheckUtils]: 25: Hoare triple {95718#(and (or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= 2 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95719#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4))))} is VALID [2022-04-28 09:07:49,677 INFO L290 TraceCheckUtils]: 26: Hoare triple {95719#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (= (* SelectionSort_~rh~0 4) 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95720#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0))} is VALID [2022-04-28 09:07:49,677 INFO L290 TraceCheckUtils]: 27: Hoare triple {95720#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95721#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~rh~0 SelectionSort_~i~0) (<= SelectionSort_~i~0 3) (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))) (<= 3 SelectionSort_~i~0))} is VALID [2022-04-28 09:07:49,678 INFO L290 TraceCheckUtils]: 28: Hoare triple {95721#(and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~rh~0 SelectionSort_~i~0) (<= SelectionSort_~i~0 3) (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))) (<= 3 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95722#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))))} is VALID [2022-04-28 09:07:49,683 INFO L290 TraceCheckUtils]: 29: Hoare triple {95722#(and (or (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4)))) (and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95723#(and (or (not (= |SelectionSort_#t~mem3| 0)) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} is VALID [2022-04-28 09:07:49,684 INFO L290 TraceCheckUtils]: 30: Hoare triple {95723#(and (or (not (= |SelectionSort_#t~mem3| 0)) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))) (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (= |SelectionSort_#t~mem3| 0) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95724#(and (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))))} is VALID [2022-04-28 09:07:49,686 INFO L290 TraceCheckUtils]: 31: Hoare triple {95724#(and (< 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 4) (or (and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0))) (and (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)))) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 1) ~n~0))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95725#(or (and (<= SelectionSort_~i~0 ~n~0) (or (< SelectionSort_~i~0 ~n~0) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))) (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))))))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} is VALID [2022-04-28 09:07:49,687 INFO L290 TraceCheckUtils]: 32: Hoare triple {95725#(or (and (<= SelectionSort_~i~0 ~n~0) (or (< SelectionSort_~i~0 ~n~0) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))) (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))))))) (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)))} assume !(~i~0 < ~n~0); {95726#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))} is VALID [2022-04-28 09:07:49,689 INFO L290 TraceCheckUtils]: 33: Hoare triple {95726#(or (and (not (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (= |#memory_int| |old(#memory_int)|)) (and (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (or (and (= |#memory_int| |old(#memory_int)|) (not (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))))) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95727#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,690 INFO L290 TraceCheckUtils]: 34: Hoare triple {95727#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)))) (<= ~n~0 (+ 5 SelectionSort_~lh~0))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95728#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4)))))} is VALID [2022-04-28 09:07:49,691 INFO L290 TraceCheckUtils]: 35: Hoare triple {95728#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (< ~n~0 (+ SelectionSort_~lh~0 4)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:07:49,691 INFO L290 TraceCheckUtils]: 36: Hoare triple {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95730#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:07:49,692 INFO L290 TraceCheckUtils]: 37: Hoare triple {95730#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (and (= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} is VALID [2022-04-28 09:07:49,693 INFO L290 TraceCheckUtils]: 38: Hoare triple {95729#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (or (<= ~n~0 (+ SelectionSort_~i~0 2)) (< (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0))) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-28 09:07:49,694 INFO L290 TraceCheckUtils]: 39: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-28 09:07:49,694 INFO L290 TraceCheckUtils]: 40: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} is VALID [2022-04-28 09:07:49,695 INFO L290 TraceCheckUtils]: 41: Hoare triple {95731#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= ~n~0 (+ SelectionSort_~i~0 1)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|))) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95732#(or (<= ~n~0 SelectionSort_~i~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))))} is VALID [2022-04-28 09:07:49,696 INFO L290 TraceCheckUtils]: 42: Hoare triple {95732#(or (<= ~n~0 SelectionSort_~i~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (or (< (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95733#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:07:49,697 INFO L290 TraceCheckUtils]: 43: Hoare triple {95733#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= |SelectionSort_#t~mem4| |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95734#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,697 INFO L290 TraceCheckUtils]: 44: Hoare triple {95734#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (and (<= (+ SelectionSort_~lh~0 3) SelectionSort_~i~0) (<= (+ SelectionSort_~i~0 1) ~n~0) (< (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,697 INFO L290 TraceCheckUtils]: 45: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,698 INFO L290 TraceCheckUtils]: 46: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,698 INFO L290 TraceCheckUtils]: 47: Hoare triple {95735#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 4) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95736#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 3) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,699 INFO L290 TraceCheckUtils]: 48: Hoare triple {95736#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~lh~0 3) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,699 INFO L290 TraceCheckUtils]: 49: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,700 INFO L290 TraceCheckUtils]: 50: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,700 INFO L290 TraceCheckUtils]: 51: Hoare triple {95737#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (< (+ SelectionSort_~i~0 2) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:07:49,701 INFO L290 TraceCheckUtils]: 52: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:07:49,701 INFO L290 TraceCheckUtils]: 53: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:07:49,701 INFO L290 TraceCheckUtils]: 54: Hoare triple {95738#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95739#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (<= (+ SelectionSort_~i~0 1) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,702 INFO L290 TraceCheckUtils]: 55: Hoare triple {95739#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (<= (+ SelectionSort_~i~0 1) ~n~0) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,702 INFO L290 TraceCheckUtils]: 56: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,703 INFO L290 TraceCheckUtils]: 57: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,703 INFO L290 TraceCheckUtils]: 58: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,704 INFO L290 TraceCheckUtils]: 59: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,704 INFO L290 TraceCheckUtils]: 60: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,704 INFO L290 TraceCheckUtils]: 61: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,705 INFO L290 TraceCheckUtils]: 62: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,705 INFO L290 TraceCheckUtils]: 63: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,705 INFO L290 TraceCheckUtils]: 64: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,706 INFO L290 TraceCheckUtils]: 65: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,706 INFO L290 TraceCheckUtils]: 66: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~i~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,707 INFO L290 TraceCheckUtils]: 67: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,707 INFO L290 TraceCheckUtils]: 68: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,707 INFO L290 TraceCheckUtils]: 69: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume !(~lh~0 < ~n~0); {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,708 INFO L290 TraceCheckUtils]: 70: Hoare triple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} assume true; {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} is VALID [2022-04-28 09:07:49,708 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {95740#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) 0)))} {95640#(and (= 0 (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4))) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0))} #91#return; {95635#false} is VALID [2022-04-28 09:07:49,708 INFO L290 TraceCheckUtils]: 72: Hoare triple {95635#false} ~i~1 := 0; {95635#false} is VALID [2022-04-28 09:07:49,708 INFO L290 TraceCheckUtils]: 73: Hoare triple {95635#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95635#false} is VALID [2022-04-28 09:07:49,708 INFO L272 TraceCheckUtils]: 74: Hoare triple {95635#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95634#true} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 75: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 76: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 77: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-28 09:07:49,709 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 79: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 80: Hoare triple {95635#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {95635#false} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 81: Hoare triple {95635#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95635#false} is VALID [2022-04-28 09:07:49,709 INFO L272 TraceCheckUtils]: 82: Hoare triple {95635#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95634#true} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 83: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 84: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 85: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-28 09:07:49,709 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 87: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 88: Hoare triple {95635#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {95635#false} is VALID [2022-04-28 09:07:49,709 INFO L290 TraceCheckUtils]: 89: Hoare triple {95635#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95635#false} is VALID [2022-04-28 09:07:49,710 INFO L272 TraceCheckUtils]: 90: Hoare triple {95635#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95634#true} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 91: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 92: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 93: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-28 09:07:49,710 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 95: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 96: Hoare triple {95635#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {95635#false} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 97: Hoare triple {95635#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95635#false} is VALID [2022-04-28 09:07:49,710 INFO L272 TraceCheckUtils]: 98: Hoare triple {95635#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95634#true} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 99: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 100: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 101: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-28 09:07:49,710 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 103: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 104: Hoare triple {95635#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {95635#false} is VALID [2022-04-28 09:07:49,710 INFO L290 TraceCheckUtils]: 105: Hoare triple {95635#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95635#false} is VALID [2022-04-28 09:07:49,711 INFO L272 TraceCheckUtils]: 106: Hoare triple {95635#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95635#false} is VALID [2022-04-28 09:07:49,711 INFO L290 TraceCheckUtils]: 107: Hoare triple {95635#false} ~cond := #in~cond; {95635#false} is VALID [2022-04-28 09:07:49,711 INFO L290 TraceCheckUtils]: 108: Hoare triple {95635#false} assume 0 == ~cond; {95635#false} is VALID [2022-04-28 09:07:49,711 INFO L290 TraceCheckUtils]: 109: Hoare triple {95635#false} assume !false; {95635#false} is VALID [2022-04-28 09:07:49,711 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 47 proven. 179 refuted. 0 times theorem prover too weak. 93 trivial. 0 not checked. [2022-04-28 09:07:49,712 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:07:49,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1095801930] [2022-04-28 09:07:49,712 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1095801930] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:07:49,712 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1521037476] [2022-04-28 09:07:49,712 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 09:07:49,712 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:07:49,712 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:07:49,714 INFO L229 MonitoredProcess]: Starting monitored process 36 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:07:49,714 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Waiting until timeout for monitored process [2022-04-28 09:07:50,056 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-28 09:07:50,056 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:07:50,059 INFO L263 TraceCheckSpWp]: Trace formula consists of 365 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-28 09:07:50,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:07:50,090 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:07:50,147 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 09:07:50,148 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-28 09:07:50,182 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-28 09:07:50,282 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:07:50,282 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:07:50,364 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:07:50,364 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:07:50,429 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-28 09:07:50,429 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 30 [2022-04-28 09:07:50,554 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-28 09:07:50,554 INFO L390 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 1 case distinctions, treesize of input 29 treesize of output 34 [2022-04-28 09:07:51,209 INFO L390 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 16 treesize of output 18 [2022-04-28 09:07:52,697 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-28 09:07:52,698 INFO L390 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 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-28 09:07:52,803 INFO L272 TraceCheckUtils]: 0: Hoare triple {95634#true} call ULTIMATE.init(); {95634#true} is VALID [2022-04-28 09:07:52,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:07:52,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:07:52,804 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {95634#true} #95#return; {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:07:52,805 INFO L272 TraceCheckUtils]: 4: Hoare triple {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:07:52,805 INFO L290 TraceCheckUtils]: 5: Hoare triple {95747#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {95760#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,806 INFO L290 TraceCheckUtils]: 6: Hoare triple {95760#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95764#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:07:52,806 INFO L290 TraceCheckUtils]: 7: Hoare triple {95764#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95768#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,807 INFO L290 TraceCheckUtils]: 8: Hoare triple {95768#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95768#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {95768#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95775#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,808 INFO L290 TraceCheckUtils]: 10: Hoare triple {95775#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,808 INFO L290 TraceCheckUtils]: 11: Hoare triple {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,809 INFO L290 TraceCheckUtils]: 12: Hoare triple {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95786#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 16 (* main_~i~1 4))))} is VALID [2022-04-28 09:07:52,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {95786#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 16 (* main_~i~1 4))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95790#(and (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 3 main_~i~1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,810 INFO L290 TraceCheckUtils]: 14: Hoare triple {95790#(and (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 3 main_~i~1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95790#(and (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 3 main_~i~1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,810 INFO L290 TraceCheckUtils]: 15: Hoare triple {95790#(and (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 3 main_~i~1)) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {95797#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 2 main_~i~1)))} is VALID [2022-04-28 09:07:52,811 INFO L290 TraceCheckUtils]: 16: Hoare triple {95797#(and (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (or (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (<= 2 main_~i~1)))} assume !(~i~1 >= 0); {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,811 INFO L272 TraceCheckUtils]: 17: Hoare triple {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,812 INFO L290 TraceCheckUtils]: 18: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,812 INFO L290 TraceCheckUtils]: 19: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,812 INFO L290 TraceCheckUtils]: 20: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,813 INFO L290 TraceCheckUtils]: 21: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,813 INFO L290 TraceCheckUtils]: 22: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,814 INFO L290 TraceCheckUtils]: 23: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,822 INFO L290 TraceCheckUtils]: 24: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,823 INFO L290 TraceCheckUtils]: 25: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,823 INFO L290 TraceCheckUtils]: 26: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,824 INFO L290 TraceCheckUtils]: 27: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,824 INFO L290 TraceCheckUtils]: 28: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,824 INFO L290 TraceCheckUtils]: 29: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,825 INFO L290 TraceCheckUtils]: 30: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,825 INFO L290 TraceCheckUtils]: 31: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,825 INFO L290 TraceCheckUtils]: 32: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,826 INFO L290 TraceCheckUtils]: 33: Hoare triple {95804#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,827 INFO L290 TraceCheckUtils]: 34: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,827 INFO L290 TraceCheckUtils]: 35: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,827 INFO L290 TraceCheckUtils]: 36: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,828 INFO L290 TraceCheckUtils]: 37: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,828 INFO L290 TraceCheckUtils]: 38: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,828 INFO L290 TraceCheckUtils]: 39: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,829 INFO L290 TraceCheckUtils]: 40: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,829 INFO L290 TraceCheckUtils]: 41: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,830 INFO L290 TraceCheckUtils]: 42: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,830 INFO L290 TraceCheckUtils]: 43: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,830 INFO L290 TraceCheckUtils]: 44: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,831 INFO L290 TraceCheckUtils]: 45: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,832 WARN L290 TraceCheckUtils]: 46: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:07:52,833 INFO L290 TraceCheckUtils]: 47: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,833 INFO L290 TraceCheckUtils]: 48: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,833 INFO L290 TraceCheckUtils]: 49: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,834 INFO L290 TraceCheckUtils]: 50: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,834 INFO L290 TraceCheckUtils]: 51: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,835 INFO L290 TraceCheckUtils]: 52: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,835 INFO L290 TraceCheckUtils]: 53: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,835 INFO L290 TraceCheckUtils]: 54: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,836 INFO L290 TraceCheckUtils]: 55: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,837 WARN L290 TraceCheckUtils]: 56: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:07:52,837 INFO L290 TraceCheckUtils]: 57: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,838 INFO L290 TraceCheckUtils]: 58: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,838 INFO L290 TraceCheckUtils]: 59: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,838 INFO L290 TraceCheckUtils]: 60: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,839 INFO L290 TraceCheckUtils]: 61: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,839 INFO L290 TraceCheckUtils]: 62: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,841 WARN L290 TraceCheckUtils]: 63: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:07:52,841 INFO L290 TraceCheckUtils]: 64: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,841 INFO L290 TraceCheckUtils]: 65: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,842 INFO L290 TraceCheckUtils]: 66: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,843 WARN L290 TraceCheckUtils]: 67: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:07:52,844 INFO L290 TraceCheckUtils]: 68: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,844 INFO L290 TraceCheckUtils]: 69: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume !(~lh~0 < ~n~0); {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,844 INFO L290 TraceCheckUtils]: 70: Hoare triple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} assume true; {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:07:52,845 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {95853#(and (exists ((v_ArrVal_1984 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_1984))) (= 3 |~#array~0.base|))} {95779#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #91#return; {95968#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,845 INFO L290 TraceCheckUtils]: 72: Hoare triple {95968#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:07:52,846 INFO L290 TraceCheckUtils]: 73: Hoare triple {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:07:52,847 INFO L272 TraceCheckUtils]: 74: Hoare triple {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,847 INFO L290 TraceCheckUtils]: 75: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} ~cond := #in~cond; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,847 INFO L290 TraceCheckUtils]: 76: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume !(0 == ~cond); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,847 INFO L290 TraceCheckUtils]: 77: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume true; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,848 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:07:52,848 INFO L290 TraceCheckUtils]: 79: Hoare triple {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:07:52,849 INFO L290 TraceCheckUtils]: 80: Hoare triple {95972#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:07:52,849 INFO L290 TraceCheckUtils]: 81: Hoare triple {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:07:52,850 INFO L272 TraceCheckUtils]: 82: Hoare triple {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,850 INFO L290 TraceCheckUtils]: 83: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} ~cond := #in~cond; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,850 INFO L290 TraceCheckUtils]: 84: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume !(0 == ~cond); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,851 INFO L290 TraceCheckUtils]: 85: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume true; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,851 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #93#return; {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:07:52,852 INFO L290 TraceCheckUtils]: 87: Hoare triple {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} havoc #t~mem9; {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} is VALID [2022-04-28 09:07:52,852 INFO L290 TraceCheckUtils]: 88: Hoare triple {95998#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 1))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,852 INFO L290 TraceCheckUtils]: 89: Hoare triple {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,853 INFO L272 TraceCheckUtils]: 90: Hoare triple {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,854 INFO L290 TraceCheckUtils]: 91: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} ~cond := #in~cond; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,854 INFO L290 TraceCheckUtils]: 92: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume !(0 == ~cond); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,854 INFO L290 TraceCheckUtils]: 93: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume true; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,855 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #93#return; {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,855 INFO L290 TraceCheckUtils]: 95: Hoare triple {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} havoc #t~mem9; {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,855 INFO L290 TraceCheckUtils]: 96: Hoare triple {96023#(and (= 1 (+ (- 1) main_~i~1)) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,856 INFO L290 TraceCheckUtils]: 97: Hoare triple {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,857 INFO L272 TraceCheckUtils]: 98: Hoare triple {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,857 INFO L290 TraceCheckUtils]: 99: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} ~cond := #in~cond; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,857 INFO L290 TraceCheckUtils]: 100: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume !(0 == ~cond); {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,857 INFO L290 TraceCheckUtils]: 101: Hoare triple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} assume true; {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} is VALID [2022-04-28 09:07:52,858 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {95979#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_54| Int) (|v_main_~#array~1.base_BEFORE_CALL_54| Int)) (and (= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_54|) (+ |v_main_~#array~1.offset_BEFORE_CALL_54| 16)) 4) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_54|))))} {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #93#return; {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,858 INFO L290 TraceCheckUtils]: 103: Hoare triple {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} havoc #t~mem9; {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,859 INFO L290 TraceCheckUtils]: 104: Hoare triple {96048#(and (= main_~i~1 3) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {96073#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:07:52,859 INFO L290 TraceCheckUtils]: 105: Hoare triple {96073#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {96077#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} is VALID [2022-04-28 09:07:52,860 INFO L272 TraceCheckUtils]: 106: Hoare triple {96077#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {96081#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:07:52,860 INFO L290 TraceCheckUtils]: 107: Hoare triple {96081#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {96085#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:07:52,860 INFO L290 TraceCheckUtils]: 108: Hoare triple {96085#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {95635#false} is VALID [2022-04-28 09:07:52,860 INFO L290 TraceCheckUtils]: 109: Hoare triple {95635#false} assume !false; {95635#false} is VALID [2022-04-28 09:07:52,861 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 1 proven. 171 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-28 09:07:52,861 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:07:53,269 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_1995 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_1995) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 16)) 4)) is different from false [2022-04-28 09:07:53,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1521037476] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:07:53,270 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:07:53,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 23] total 55 [2022-04-28 09:07:53,270 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:07:53,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [320243500] [2022-04-28 09:07:53,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [320243500] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:07:53,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:07:53,271 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-28 09:07:53,271 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1462041191] [2022-04-28 09:07:53,271 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:07:53,271 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:07:53,271 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:07:53,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:07:53,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:07:53,333 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-28 09:07:53,333 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:07:53,333 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-28 09:07:53,334 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=248, Invalid=3526, Unknown=12, NotChecked=120, Total=3906 [2022-04-28 09:07:53,334 INFO L87 Difference]: Start difference. First operand 1146 states and 1558 transitions. Second operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:08:52,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:08:52,399 INFO L93 Difference]: Finished difference Result 3247 states and 4448 transitions. [2022-04-28 09:08:52,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 102 states. [2022-04-28 09:08:52,399 INFO L78 Accepts]: Start accepts. Automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:08:52,399 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:08:52,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:08:52,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 209 transitions. [2022-04-28 09:08:52,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:08:52,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 209 transitions. [2022-04-28 09:08:52,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 209 transitions. [2022-04-28 09:08:52,739 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:08:52,978 INFO L225 Difference]: With dead ends: 3247 [2022-04-28 09:08:52,978 INFO L226 Difference]: Without dead ends: 2448 [2022-04-28 09:08:52,982 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 296 GetRequests, 124 SyntacticMatches, 13 SemanticMatches, 159 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 8437 ImplicationChecksByTransitivity, 14.6s TimeCoverageRelationStatistics Valid=2493, Invalid=22881, Unknown=70, NotChecked=316, Total=25760 [2022-04-28 09:08:52,982 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 264 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 1418 mSolverCounterSat, 279 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 265 SdHoareTripleChecker+Valid, 26 SdHoareTripleChecker+Invalid, 1697 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 279 IncrementalHoareTripleChecker+Valid, 1418 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-28 09:08:52,982 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [265 Valid, 26 Invalid, 1697 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [279 Valid, 1418 Invalid, 0 Unknown, 0 Unchecked, 2.1s Time] [2022-04-28 09:08:52,983 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2448 states. [2022-04-28 09:09:21,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2448 to 2216. [2022-04-28 09:09:21,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:09:21,535 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2448 states. Second operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:09:21,536 INFO L74 IsIncluded]: Start isIncluded. First operand 2448 states. Second operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:09:21,537 INFO L87 Difference]: Start difference. First operand 2448 states. Second operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:09:21,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:09:21,677 INFO L93 Difference]: Finished difference Result 2448 states and 3314 transitions. [2022-04-28 09:09:21,677 INFO L276 IsEmpty]: Start isEmpty. Operand 2448 states and 3314 transitions. [2022-04-28 09:09:21,679 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:09:21,679 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:09:21,681 INFO L74 IsIncluded]: Start isIncluded. First operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 2448 states. [2022-04-28 09:09:21,682 INFO L87 Difference]: Start difference. First operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 2448 states. [2022-04-28 09:09:21,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:09:21,821 INFO L93 Difference]: Finished difference Result 2448 states and 3314 transitions. [2022-04-28 09:09:21,821 INFO L276 IsEmpty]: Start isEmpty. Operand 2448 states and 3314 transitions. [2022-04-28 09:09:21,823 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:09:21,823 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:09:21,823 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:09:21,823 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:09:21,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2216 states, 2200 states have (on average 1.3745454545454545) internal successors, (3024), 2201 states have internal predecessors, (3024), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:09:22,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2216 states to 2216 states and 3039 transitions. [2022-04-28 09:09:22,019 INFO L78 Accepts]: Start accepts. Automaton has 2216 states and 3039 transitions. Word has length 110 [2022-04-28 09:09:22,019 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:09:22,019 INFO L495 AbstractCegarLoop]: Abstraction has 2216 states and 3039 transitions. [2022-04-28 09:09:22,019 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 34 states, 34 states have (on average 1.8529411764705883) internal successors, (63), 32 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:09:22,019 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2216 states and 3039 transitions. [2022-04-28 09:09:39,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 3039 edges. 3039 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:09:39,213 INFO L276 IsEmpty]: Start isEmpty. Operand 2216 states and 3039 transitions. [2022-04-28 09:09:39,215 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 09:09:39,215 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:09:39,215 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:09:39,232 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (36)] Forceful destruction successful, exit code 0 [2022-04-28 09:09:39,416 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 36 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable36 [2022-04-28 09:09:39,416 INFO L420 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:09:39,416 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:09:39,416 INFO L85 PathProgramCache]: Analyzing trace with hash 2054002614, now seen corresponding path program 25 times [2022-04-28 09:09:39,416 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:09:39,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [128909709] [2022-04-28 09:09:39,418 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:09:39,418 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:09:39,418 INFO L85 PathProgramCache]: Analyzing trace with hash 2054002614, now seen corresponding path program 26 times [2022-04-28 09:09:39,418 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:09:39,418 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1862749326] [2022-04-28 09:09:39,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:09:39,419 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:09:39,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:09:39,605 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:09:39,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:09:39,622 INFO L290 TraceCheckUtils]: 0: Hoare triple {112312#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:39,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume true; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:39,623 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} {112235#true} #95#return; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:39,627 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:09:39,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:09:41,281 INFO L290 TraceCheckUtils]: 0: Hoare triple {112313#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {112314#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:09:41,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {112314#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,283 INFO L290 TraceCheckUtils]: 3: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,283 INFO L290 TraceCheckUtils]: 4: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112316#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {112316#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112317#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (not (= |SelectionSort_#t~mem3| 0))) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,284 INFO L290 TraceCheckUtils]: 6: Hoare triple {112317#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (not (= |SelectionSort_#t~mem3| 0))) (<= 2 SelectionSort_~i~0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112318#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,285 INFO L290 TraceCheckUtils]: 7: Hoare triple {112318#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:09:41,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:09:41,286 INFO L290 TraceCheckUtils]: 9: Hoare triple {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112320#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (<= SelectionSort_~rh~0 SelectionSort_~i~0)))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:09:41,287 INFO L290 TraceCheckUtils]: 10: Hoare triple {112320#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (<= SelectionSort_~rh~0 SelectionSort_~i~0)))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112321#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:09:41,288 INFO L290 TraceCheckUtils]: 11: Hoare triple {112321#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112322#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0))))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:09:41,289 INFO L290 TraceCheckUtils]: 12: Hoare triple {112322#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0))))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112323#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:09:41,290 INFO L290 TraceCheckUtils]: 13: Hoare triple {112323#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112324#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ 5 SelectionSort_~lh~0) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} is VALID [2022-04-28 09:09:41,290 INFO L290 TraceCheckUtils]: 14: Hoare triple {112324#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ 5 SelectionSort_~lh~0) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} assume !(~i~0 < ~n~0); {112325#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= |#memory_int| |old(#memory_int)|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:09:41,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {112325#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= |#memory_int| |old(#memory_int)|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112326#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:09:41,293 INFO L290 TraceCheckUtils]: 16: Hoare triple {112326#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112327#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (< ~n~0 (+ SelectionSort_~lh~0 4)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} is VALID [2022-04-28 09:09:41,294 INFO L290 TraceCheckUtils]: 17: Hoare triple {112327#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (< ~n~0 (+ SelectionSort_~lh~0 4)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,294 INFO L290 TraceCheckUtils]: 18: Hoare triple {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112329#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} is VALID [2022-04-28 09:09:41,295 INFO L290 TraceCheckUtils]: 19: Hoare triple {112329#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,296 INFO L290 TraceCheckUtils]: 20: Hoare triple {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-28 09:09:41,297 INFO L290 TraceCheckUtils]: 21: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-28 09:09:41,298 INFO L290 TraceCheckUtils]: 22: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-28 09:09:41,299 INFO L290 TraceCheckUtils]: 23: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112331#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 1))))} is VALID [2022-04-28 09:09:41,300 INFO L290 TraceCheckUtils]: 24: Hoare triple {112331#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 1))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,301 INFO L290 TraceCheckUtils]: 25: Hoare triple {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,302 INFO L290 TraceCheckUtils]: 26: Hoare triple {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,303 INFO L290 TraceCheckUtils]: 27: Hoare triple {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,304 INFO L290 TraceCheckUtils]: 28: Hoare triple {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112334#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (or (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,305 INFO L290 TraceCheckUtils]: 29: Hoare triple {112334#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (or (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112335#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} is VALID [2022-04-28 09:09:41,305 INFO L290 TraceCheckUtils]: 30: Hoare triple {112335#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112336#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,306 INFO L290 TraceCheckUtils]: 31: Hoare triple {112336#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112337#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= |SelectionSort_#t~mem4| 0) (<= (+ SelectionSort_~i~0 2) ~n~0)))} is VALID [2022-04-28 09:09:41,307 INFO L290 TraceCheckUtils]: 32: Hoare triple {112337#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= |SelectionSort_#t~mem4| 0) (<= (+ SelectionSort_~i~0 2) ~n~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112338#(or (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,308 INFO L290 TraceCheckUtils]: 33: Hoare triple {112338#(or (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112339#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (or (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))))} is VALID [2022-04-28 09:09:41,308 INFO L290 TraceCheckUtils]: 34: Hoare triple {112339#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (or (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112340#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (or (= |SelectionSort_#t~mem3| (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} is VALID [2022-04-28 09:09:41,309 INFO L290 TraceCheckUtils]: 35: Hoare triple {112340#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (or (= |SelectionSort_#t~mem3| (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112341#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:09:41,309 INFO L290 TraceCheckUtils]: 36: Hoare triple {112341#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112342#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 1) ~n~0))} is VALID [2022-04-28 09:09:41,310 INFO L290 TraceCheckUtils]: 37: Hoare triple {112342#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 1) ~n~0))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,310 INFO L290 TraceCheckUtils]: 38: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,311 INFO L290 TraceCheckUtils]: 39: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,311 INFO L290 TraceCheckUtils]: 40: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,312 INFO L290 TraceCheckUtils]: 41: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,312 INFO L290 TraceCheckUtils]: 42: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,312 INFO L290 TraceCheckUtils]: 43: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,313 INFO L290 TraceCheckUtils]: 44: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,313 INFO L290 TraceCheckUtils]: 45: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,314 INFO L290 TraceCheckUtils]: 46: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,314 INFO L290 TraceCheckUtils]: 47: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,314 INFO L290 TraceCheckUtils]: 48: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,315 INFO L290 TraceCheckUtils]: 49: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,315 INFO L290 TraceCheckUtils]: 50: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,316 INFO L290 TraceCheckUtils]: 51: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~lh~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,316 INFO L290 TraceCheckUtils]: 52: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume true; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,317 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #91#return; {112236#false} is VALID [2022-04-28 09:09:41,317 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:09:41,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:09:41,320 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-28 09:09:41,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-28 09:09:41,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-28 09:09:41,321 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-28 09:09:41,321 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:09:41,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:09:41,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-28 09:09:41,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-28 09:09:41,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-28 09:09:41,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-28 09:09:41,322 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:09:41,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:09:41,324 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-28 09:09:41,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-28 09:09:41,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-28 09:09:41,324 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-28 09:09:41,324 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-28 09:09:41,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:09:41,326 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-28 09:09:41,326 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-28 09:09:41,326 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-28 09:09:41,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-28 09:09:41,326 INFO L272 TraceCheckUtils]: 0: Hoare triple {112235#true} call ULTIMATE.init(); {112312#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:09:41,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {112312#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume true; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} {112235#true} #95#return; {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,329 INFO L290 TraceCheckUtils]: 5: Hoare triple {112240#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,330 INFO L290 TraceCheckUtils]: 6: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,331 INFO L290 TraceCheckUtils]: 8: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,331 INFO L290 TraceCheckUtils]: 9: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,332 INFO L290 TraceCheckUtils]: 10: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,332 INFO L290 TraceCheckUtils]: 11: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,333 INFO L290 TraceCheckUtils]: 12: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,333 INFO L290 TraceCheckUtils]: 13: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,334 INFO L290 TraceCheckUtils]: 15: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,334 INFO L290 TraceCheckUtils]: 16: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:09:41,335 INFO L272 TraceCheckUtils]: 17: Hoare triple {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} call SelectionSort(); {112313#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:09:41,335 INFO L290 TraceCheckUtils]: 18: Hoare triple {112313#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {112314#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} is VALID [2022-04-28 09:09:41,336 INFO L290 TraceCheckUtils]: 19: Hoare triple {112314#(and (<= 0 SelectionSort_~lh~0) (<= SelectionSort_~lh~0 0) (= |#memory_int| |old(#memory_int)|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,336 INFO L290 TraceCheckUtils]: 20: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,337 INFO L290 TraceCheckUtils]: 21: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,337 INFO L290 TraceCheckUtils]: 22: Hoare triple {112315#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= (+ SelectionSort_~lh~0 1) SelectionSort_~i~0) (<= SelectionSort_~i~0 1) (<= 1 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112316#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,338 INFO L290 TraceCheckUtils]: 23: Hoare triple {112316#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112317#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (not (= |SelectionSort_#t~mem3| 0))) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {112317#(and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (or (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0) (not (= |SelectionSort_#t~mem3| 0))) (<= 2 SelectionSort_~i~0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112318#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} is VALID [2022-04-28 09:09:41,339 INFO L290 TraceCheckUtils]: 25: Hoare triple {112318#(and (= |#memory_int| |old(#memory_int)|) (<= SelectionSort_~i~0 2) (not (= (* SelectionSort_~i~0 4) (* SelectionSort_~lh~0 4))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (<= (+ SelectionSort_~lh~0 2) SelectionSort_~i~0)) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 2)) (<= 2 SelectionSort_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:09:41,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:09:41,340 INFO L290 TraceCheckUtils]: 27: Hoare triple {112319#(and (or (= |#memory_int| |old(#memory_int)|) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112320#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (<= SelectionSort_~rh~0 SelectionSort_~i~0)))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} is VALID [2022-04-28 09:09:41,341 INFO L290 TraceCheckUtils]: 28: Hoare triple {112320#(and (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (<= SelectionSort_~rh~0 SelectionSort_~i~0)))) (<= SelectionSort_~i~0 3) (<= 3 SelectionSort_~i~0) (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 3)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112321#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:09:41,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {112321#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|)) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112322#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0))))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:09:41,343 INFO L290 TraceCheckUtils]: 30: Hoare triple {112322#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0))))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112323#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} is VALID [2022-04-28 09:09:41,343 INFO L290 TraceCheckUtils]: 31: Hoare triple {112323#(and (<= SelectionSort_~i~0 (+ SelectionSort_~lh~0 4)) (or (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 1) ~n~0)))) (< SelectionSort_~i~0 (+ SelectionSort_~lh~0 4))) (= (+ 16 |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112324#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ 5 SelectionSort_~lh~0) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} is VALID [2022-04-28 09:09:41,344 INFO L290 TraceCheckUtils]: 32: Hoare triple {112324#(and (<= SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (or (< SelectionSort_~i~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ 5 SelectionSort_~lh~0) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} assume !(~i~0 < ~n~0); {112325#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= |#memory_int| |old(#memory_int)|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:09:41,346 INFO L290 TraceCheckUtils]: 33: Hoare triple {112325#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (not (= (* SelectionSort_~rh~0 4) (+ 8 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (* SelectionSort_~rh~0 4) (+ 16 (* SelectionSort_~lh~0 4)))))) (= |#memory_int| |old(#memory_int)|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112326#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} is VALID [2022-04-28 09:09:41,346 INFO L290 TraceCheckUtils]: 34: Hoare triple {112326#(and (or (< ~n~0 (+ 5 SelectionSort_~lh~0)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))) (<= ~n~0 (+ 5 SelectionSort_~lh~0)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112327#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (< ~n~0 (+ SelectionSort_~lh~0 4)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} is VALID [2022-04-28 09:09:41,347 INFO L290 TraceCheckUtils]: 35: Hoare triple {112327#(and (<= ~n~0 (+ SelectionSort_~lh~0 4)) (or (< ~n~0 (+ SelectionSort_~lh~0 4)) (and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 12 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,348 INFO L290 TraceCheckUtils]: 36: Hoare triple {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112329#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} is VALID [2022-04-28 09:09:41,349 INFO L290 TraceCheckUtils]: 37: Hoare triple {112329#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,350 INFO L290 TraceCheckUtils]: 38: Hoare triple {112328#(or (<= ~n~0 (+ SelectionSort_~i~0 2)) (and (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= ~n~0 (+ SelectionSort_~i~0 3)) (not (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) 0)) (and (<= (+ SelectionSort_~rh~0 1) SelectionSort_~i~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-28 09:09:41,351 INFO L290 TraceCheckUtils]: 39: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-28 09:09:41,352 INFO L290 TraceCheckUtils]: 40: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} is VALID [2022-04-28 09:09:41,353 INFO L290 TraceCheckUtils]: 41: Hoare triple {112330#(and (<= ~n~0 (+ SelectionSort_~i~0 2)) (or (and (or (and (<= (+ SelectionSort_~rh~0 2) SelectionSort_~i~0) (<= (+ SelectionSort_~lh~0 4) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~i~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 2))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112331#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 1))))} is VALID [2022-04-28 09:09:41,354 INFO L290 TraceCheckUtils]: 42: Hoare triple {112331#(and (<= ~n~0 (+ SelectionSort_~i~0 1)) (or (and (not (= (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4)) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (< ~n~0 (+ SelectionSort_~i~0 1))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,355 INFO L290 TraceCheckUtils]: 43: Hoare triple {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,356 INFO L290 TraceCheckUtils]: 44: Hoare triple {112332#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (not (= (* SelectionSort_~rh~0 4) (* SelectionSort_~i~0 4))) (or (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,356 INFO L290 TraceCheckUtils]: 45: Hoare triple {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !(~i~0 < ~n~0); {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,358 INFO L290 TraceCheckUtils]: 46: Hoare triple {112333#(and (not (= (* SelectionSort_~rh~0 4) (+ 4 (* SelectionSort_~lh~0 4)))) (or (and (or (< (+ SelectionSort_~lh~0 4) ~n~0) (and (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (not (= (+ (* ~n~0 4) (- 4) |~#array~0.offset|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|))))) (<= (+ SelectionSort_~lh~0 4) ~n~0)) (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112334#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (or (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,358 INFO L290 TraceCheckUtils]: 47: Hoare triple {112334#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) 0)) (and (or (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (< (+ SelectionSort_~lh~0 4) ~n~0)) (<= (+ SelectionSort_~lh~0 4) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112335#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} is VALID [2022-04-28 09:09:41,359 INFO L290 TraceCheckUtils]: 48: Hoare triple {112335#(and (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))) (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4))) 0)) (and (<= (+ SelectionSort_~lh~0 3) ~n~0) (or (< (+ SelectionSort_~lh~0 3) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112336#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} is VALID [2022-04-28 09:09:41,360 INFO L290 TraceCheckUtils]: 49: Hoare triple {112336#(and (or (not (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 0)) (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ SelectionSort_~i~0 2) ~n~0))) (= (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112337#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= |SelectionSort_#t~mem4| 0) (<= (+ SelectionSort_~i~0 2) ~n~0)))} is VALID [2022-04-28 09:09:41,361 INFO L290 TraceCheckUtils]: 50: Hoare triple {112337#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (= |SelectionSort_#t~mem3| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= |SelectionSort_#t~mem4| 0) (<= (+ SelectionSort_~i~0 2) ~n~0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112338#(or (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,361 INFO L290 TraceCheckUtils]: 51: Hoare triple {112338#(or (and (or (< (+ SelectionSort_~i~0 2) ~n~0) (= (select (select |#memory_int| |~#array~0.base|) (+ (* ~n~0 4) (- 4) |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)))) (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (= (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112339#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (or (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))))} is VALID [2022-04-28 09:09:41,362 INFO L290 TraceCheckUtils]: 52: Hoare triple {112339#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (<= (+ (select (select |#memory_int| |~#array~0.base|) (+ (* SelectionSort_~rh~0 4) |~#array~0.offset|)) 1) 0) (or (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4)))) (<= (+ SelectionSort_~i~0 2) ~n~0))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112340#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (or (= |SelectionSort_#t~mem3| (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} is VALID [2022-04-28 09:09:41,363 INFO L290 TraceCheckUtils]: 53: Hoare triple {112340#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (and (or (= |SelectionSort_#t~mem3| (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|))) (<= (+ SelectionSort_~i~0 2) ~n~0)) (or (<= (+ |SelectionSort_#t~mem4| 1) 0) (not (= |SelectionSort_#t~mem3| 0)))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112341#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} is VALID [2022-04-28 09:09:41,363 INFO L290 TraceCheckUtils]: 54: Hoare triple {112341#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 2) ~n~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112342#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 1) ~n~0))} is VALID [2022-04-28 09:09:41,364 INFO L290 TraceCheckUtils]: 55: Hoare triple {112342#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))) (<= (+ SelectionSort_~i~0 1) ~n~0))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,364 INFO L290 TraceCheckUtils]: 56: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,364 INFO L290 TraceCheckUtils]: 57: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,365 INFO L290 TraceCheckUtils]: 58: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,365 INFO L290 TraceCheckUtils]: 59: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,366 INFO L290 TraceCheckUtils]: 60: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,366 INFO L290 TraceCheckUtils]: 61: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,366 INFO L290 TraceCheckUtils]: 62: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,367 INFO L290 TraceCheckUtils]: 63: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,367 INFO L290 TraceCheckUtils]: 64: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,368 INFO L290 TraceCheckUtils]: 65: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,368 INFO L290 TraceCheckUtils]: 66: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~i~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,368 INFO L290 TraceCheckUtils]: 67: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,369 INFO L290 TraceCheckUtils]: 68: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,369 INFO L290 TraceCheckUtils]: 69: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume !(~lh~0 < ~n~0); {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,369 INFO L290 TraceCheckUtils]: 70: Hoare triple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} assume true; {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} is VALID [2022-04-28 09:09:41,370 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {112343#(or (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0)) (not (= (select (select |old(#memory_int)| |~#array~0.base|) (+ 16 |~#array~0.offset|)) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 8)))))} {112241#(and (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 8)) 0) (= (select (select |#memory_int| |~#array~0.base|) (+ 16 |~#array~0.offset|)) 0) (<= |~#array~0.offset| 0))} #91#return; {112236#false} is VALID [2022-04-28 09:09:41,370 INFO L290 TraceCheckUtils]: 72: Hoare triple {112236#false} ~i~1 := 0; {112236#false} is VALID [2022-04-28 09:09:41,370 INFO L290 TraceCheckUtils]: 73: Hoare triple {112236#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112236#false} is VALID [2022-04-28 09:09:41,370 INFO L272 TraceCheckUtils]: 74: Hoare triple {112236#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112235#true} is VALID [2022-04-28 09:09:41,370 INFO L290 TraceCheckUtils]: 75: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-28 09:09:41,370 INFO L290 TraceCheckUtils]: 76: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-28 09:09:41,370 INFO L290 TraceCheckUtils]: 77: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-28 09:09:41,371 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 79: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 80: Hoare triple {112236#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112236#false} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 81: Hoare triple {112236#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112236#false} is VALID [2022-04-28 09:09:41,371 INFO L272 TraceCheckUtils]: 82: Hoare triple {112236#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112235#true} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 83: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 84: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 85: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-28 09:09:41,371 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 87: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 88: Hoare triple {112236#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112236#false} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 89: Hoare triple {112236#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112236#false} is VALID [2022-04-28 09:09:41,371 INFO L272 TraceCheckUtils]: 90: Hoare triple {112236#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112235#true} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 91: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-28 09:09:41,371 INFO L290 TraceCheckUtils]: 92: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 93: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-28 09:09:41,372 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 95: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 96: Hoare triple {112236#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112236#false} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 97: Hoare triple {112236#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112236#false} is VALID [2022-04-28 09:09:41,372 INFO L272 TraceCheckUtils]: 98: Hoare triple {112236#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112235#true} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 99: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 100: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 101: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-28 09:09:41,372 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 103: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 104: Hoare triple {112236#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112236#false} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 105: Hoare triple {112236#false} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112236#false} is VALID [2022-04-28 09:09:41,372 INFO L272 TraceCheckUtils]: 106: Hoare triple {112236#false} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112236#false} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 107: Hoare triple {112236#false} ~cond := #in~cond; {112236#false} is VALID [2022-04-28 09:09:41,372 INFO L290 TraceCheckUtils]: 108: Hoare triple {112236#false} assume 0 == ~cond; {112236#false} is VALID [2022-04-28 09:09:41,373 INFO L290 TraceCheckUtils]: 109: Hoare triple {112236#false} assume !false; {112236#false} is VALID [2022-04-28 09:09:41,373 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 23 proven. 203 refuted. 0 times theorem prover too weak. 93 trivial. 0 not checked. [2022-04-28 09:09:41,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:09:41,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1862749326] [2022-04-28 09:09:41,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1862749326] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:09:41,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [506107704] [2022-04-28 09:09:41,374 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 09:09:41,374 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:09:41,374 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:09:41,375 INFO L229 MonitoredProcess]: Starting monitored process 37 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:09:41,375 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Waiting until timeout for monitored process [2022-04-28 09:09:41,521 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 09:09:41,521 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:09:41,523 INFO L263 TraceCheckSpWp]: Trace formula consists of 371 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 09:09:41,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:09:41,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:09:41,604 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 09:09:41,604 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 11 [2022-04-28 09:09:41,650 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-04-28 09:09:41,755 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:09:41,755 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:09:41,833 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:09:41,833 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:09:41,913 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:09:41,913 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:09:42,006 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-28 09:09:42,006 INFO L390 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 1 case distinctions, treesize of input 25 treesize of output 24 [2022-04-28 09:09:42,592 INFO L390 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 16 treesize of output 18 [2022-04-28 09:09:44,095 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-28 09:09:44,096 INFO L390 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 1 case distinctions, treesize of input 21 treesize of output 10 [2022-04-28 09:09:44,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {112235#true} call ULTIMATE.init(); {112235#true} is VALID [2022-04-28 09:09:44,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:09:44,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} assume true; {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:09:44,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} {112235#true} #95#return; {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:09:44,229 INFO L272 TraceCheckUtils]: 4: Hoare triple {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call #t~ret10 := main(); {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} is VALID [2022-04-28 09:09:44,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {112350#(and (= 3 |~#array~0.base|) (= (select |#valid| 3) 1))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {112363#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,230 INFO L290 TraceCheckUtils]: 6: Hoare triple {112363#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112367#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:09:44,230 INFO L290 TraceCheckUtils]: 7: Hoare triple {112367#(and (= 3 |~#array~0.base|) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112371#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {112371#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112371#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,231 INFO L290 TraceCheckUtils]: 9: Hoare triple {112371#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 3) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112378#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,232 INFO L290 TraceCheckUtils]: 10: Hoare triple {112378#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112378#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,232 INFO L290 TraceCheckUtils]: 11: Hoare triple {112378#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (<= main_~i~1 2) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112385#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-28 09:09:44,233 INFO L290 TraceCheckUtils]: 12: Hoare triple {112385#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112385#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} is VALID [2022-04-28 09:09:44,233 INFO L290 TraceCheckUtils]: 13: Hoare triple {112385#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 1))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112392#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} is VALID [2022-04-28 09:09:44,234 INFO L290 TraceCheckUtils]: 14: Hoare triple {112392#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)) (<= main_~i~1 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,234 INFO L290 TraceCheckUtils]: 15: Hoare triple {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} assume !(~i~1 >= 0); {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,235 INFO L272 TraceCheckUtils]: 17: Hoare triple {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} call SelectionSort(); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,237 INFO L290 TraceCheckUtils]: 21: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,237 INFO L290 TraceCheckUtils]: 23: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,238 INFO L290 TraceCheckUtils]: 24: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,238 INFO L290 TraceCheckUtils]: 25: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,238 INFO L290 TraceCheckUtils]: 26: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,239 INFO L290 TraceCheckUtils]: 28: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,239 INFO L290 TraceCheckUtils]: 29: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,240 INFO L290 TraceCheckUtils]: 30: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,240 INFO L290 TraceCheckUtils]: 31: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,240 INFO L290 TraceCheckUtils]: 32: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,241 INFO L290 TraceCheckUtils]: 33: Hoare triple {112406#(and (= |#memory_int| |old(#memory_int)|) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,241 INFO L290 TraceCheckUtils]: 34: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,242 INFO L290 TraceCheckUtils]: 35: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,243 INFO L290 TraceCheckUtils]: 36: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,243 INFO L290 TraceCheckUtils]: 37: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,244 INFO L290 TraceCheckUtils]: 38: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,244 INFO L290 TraceCheckUtils]: 39: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,245 INFO L290 TraceCheckUtils]: 40: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,245 INFO L290 TraceCheckUtils]: 41: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,246 INFO L290 TraceCheckUtils]: 42: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,246 INFO L290 TraceCheckUtils]: 43: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,247 INFO L290 TraceCheckUtils]: 44: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,247 INFO L290 TraceCheckUtils]: 45: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,249 WARN L290 TraceCheckUtils]: 46: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:09:44,249 INFO L290 TraceCheckUtils]: 47: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,250 INFO L290 TraceCheckUtils]: 48: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,250 INFO L290 TraceCheckUtils]: 49: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,251 INFO L290 TraceCheckUtils]: 50: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,251 INFO L290 TraceCheckUtils]: 51: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,252 INFO L290 TraceCheckUtils]: 52: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,252 INFO L290 TraceCheckUtils]: 53: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,253 INFO L290 TraceCheckUtils]: 54: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,253 INFO L290 TraceCheckUtils]: 55: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,254 WARN L290 TraceCheckUtils]: 56: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:09:44,255 INFO L290 TraceCheckUtils]: 57: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,255 INFO L290 TraceCheckUtils]: 58: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,256 INFO L290 TraceCheckUtils]: 59: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,257 INFO L290 TraceCheckUtils]: 60: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,257 INFO L290 TraceCheckUtils]: 61: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,257 INFO L290 TraceCheckUtils]: 62: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,259 WARN L290 TraceCheckUtils]: 63: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:09:44,259 INFO L290 TraceCheckUtils]: 64: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,260 INFO L290 TraceCheckUtils]: 65: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,260 INFO L290 TraceCheckUtils]: 66: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(~i~0 < ~n~0); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,262 WARN L290 TraceCheckUtils]: 67: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is UNKNOWN [2022-04-28 09:09:44,262 INFO L290 TraceCheckUtils]: 68: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,263 INFO L290 TraceCheckUtils]: 69: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume !(~lh~0 < ~n~0); {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,263 INFO L290 TraceCheckUtils]: 70: Hoare triple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} assume true; {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} is VALID [2022-04-28 09:09:44,264 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {112455#(and (exists ((v_ArrVal_2075 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2075))) (= 3 |~#array~0.base|))} {112396#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= 3 |~#array~0.base|) (not (= |main_~#array~1.base| 3)))} #91#return; {112570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,264 INFO L290 TraceCheckUtils]: 72: Hoare triple {112570#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} ~i~1 := 0; {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:09:44,265 INFO L290 TraceCheckUtils]: 73: Hoare triple {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:09:44,265 INFO L272 TraceCheckUtils]: 74: Hoare triple {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,266 INFO L290 TraceCheckUtils]: 75: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} ~cond := #in~cond; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,266 INFO L290 TraceCheckUtils]: 76: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume !(0 == ~cond); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,266 INFO L290 TraceCheckUtils]: 77: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume true; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,267 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #93#return; {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:09:44,267 INFO L290 TraceCheckUtils]: 79: Hoare triple {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} havoc #t~mem9; {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} is VALID [2022-04-28 09:09:44,268 INFO L290 TraceCheckUtils]: 80: Hoare triple {112574#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:09:44,268 INFO L290 TraceCheckUtils]: 81: Hoare triple {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:09:44,269 INFO L272 TraceCheckUtils]: 82: Hoare triple {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,269 INFO L290 TraceCheckUtils]: 83: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} ~cond := #in~cond; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,270 INFO L290 TraceCheckUtils]: 84: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume !(0 == ~cond); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,270 INFO L290 TraceCheckUtils]: 85: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume true; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,271 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #93#return; {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:09:44,272 INFO L290 TraceCheckUtils]: 87: Hoare triple {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} havoc #t~mem9; {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} is VALID [2022-04-28 09:09:44,272 INFO L290 TraceCheckUtils]: 88: Hoare triple {112600#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= 0 (+ (- 1) main_~i~1)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,273 INFO L290 TraceCheckUtils]: 89: Hoare triple {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,273 INFO L272 TraceCheckUtils]: 90: Hoare triple {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,274 INFO L290 TraceCheckUtils]: 91: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} ~cond := #in~cond; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,274 INFO L290 TraceCheckUtils]: 92: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume !(0 == ~cond); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,275 INFO L290 TraceCheckUtils]: 93: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume true; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,275 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #93#return; {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,275 INFO L290 TraceCheckUtils]: 95: Hoare triple {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} havoc #t~mem9; {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,276 INFO L290 TraceCheckUtils]: 96: Hoare triple {112625#(and (= (+ (- 2) main_~i~1) 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-28 09:09:44,276 INFO L290 TraceCheckUtils]: 97: Hoare triple {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-28 09:09:44,277 INFO L272 TraceCheckUtils]: 98: Hoare triple {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,277 INFO L290 TraceCheckUtils]: 99: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} ~cond := #in~cond; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,278 INFO L290 TraceCheckUtils]: 100: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume !(0 == ~cond); {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,278 INFO L290 TraceCheckUtils]: 101: Hoare triple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} assume true; {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} is VALID [2022-04-28 09:09:44,279 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {112581#(exists ((|v_main_~#array~1.offset_BEFORE_CALL_63| Int) (|v_main_~#array~1.base_BEFORE_CALL_63| Int)) (and (= 4 (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_63|) (+ |v_main_~#array~1.offset_BEFORE_CALL_63| 16))) (not (= 3 |v_main_~#array~1.base_BEFORE_CALL_63|))))} {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} #93#return; {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-28 09:09:44,279 INFO L290 TraceCheckUtils]: 103: Hoare triple {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} havoc #t~mem9; {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} is VALID [2022-04-28 09:09:44,279 INFO L290 TraceCheckUtils]: 104: Hoare triple {112650#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (not (= |main_~#array~1.base| 3)) (= (+ main_~i~1 (- 3)) 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {112675#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} is VALID [2022-04-28 09:09:44,280 INFO L290 TraceCheckUtils]: 105: Hoare triple {112675#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |main_~#array~1.offset|)) 4) (= main_~i~1 4) (not (= |main_~#array~1.base| 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {112679#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} is VALID [2022-04-28 09:09:44,280 INFO L272 TraceCheckUtils]: 106: Hoare triple {112679#(and (= |main_#t~mem9| 4) (= main_~i~1 4))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {112683#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:09:44,280 INFO L290 TraceCheckUtils]: 107: Hoare triple {112683#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {112687#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:09:44,281 INFO L290 TraceCheckUtils]: 108: Hoare triple {112687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {112236#false} is VALID [2022-04-28 09:09:44,281 INFO L290 TraceCheckUtils]: 109: Hoare triple {112236#false} assume !false; {112236#false} is VALID [2022-04-28 09:09:44,281 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 9 proven. 163 refuted. 0 times theorem prover too weak. 147 trivial. 0 not checked. [2022-04-28 09:09:44,281 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:09:44,731 WARN L833 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_2086 (Array Int Int))) (= 4 (select (select (store |c_#memory_int| |c_~#array~0.base| v_ArrVal_2086) |c_main_~#array~1.base|) (+ |c_main_~#array~1.offset| 16)))) is different from false [2022-04-28 09:09:44,732 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [506107704] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:09:44,732 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:09:44,732 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [36, 22] total 56 [2022-04-28 09:09:44,732 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:09:44,732 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [128909709] [2022-04-28 09:09:44,733 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [128909709] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:09:44,733 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:09:44,733 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-28 09:09:44,733 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [928348731] [2022-04-28 09:09:44,733 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:09:44,733 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:09:44,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:09:44,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:09:44,796 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:09:44,797 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-28 09:09:44,797 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:09:44,797 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-28 09:09:44,797 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=230, Invalid=3669, Unknown=11, NotChecked=122, Total=4032 [2022-04-28 09:09:44,797 INFO L87 Difference]: Start difference. First operand 2216 states and 3039 transitions. Second operand has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:10:43,868 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:10:43,869 INFO L93 Difference]: Finished difference Result 3068 states and 4214 transitions. [2022-04-28 09:10:43,869 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 85 states. [2022-04-28 09:10:43,869 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 110 [2022-04-28 09:10:43,869 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 09:10:43,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:10:43,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 209 transitions. [2022-04-28 09:10:43,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:10:43,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 209 transitions. [2022-04-28 09:10:43,872 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 209 transitions. [2022-04-28 09:10:44,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:10:44,530 INFO L225 Difference]: With dead ends: 3068 [2022-04-28 09:10:44,530 INFO L226 Difference]: Without dead ends: 2901 [2022-04-28 09:10:44,533 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 280 GetRequests, 124 SyntacticMatches, 13 SemanticMatches, 143 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 6074 ImplicationChecksByTransitivity, 12.2s TimeCoverageRelationStatistics Valid=2026, Invalid=18529, Unknown=41, NotChecked=284, Total=20880 [2022-04-28 09:10:44,533 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 208 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 2400 mSolverCounterSat, 214 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 209 SdHoareTripleChecker+Valid, 33 SdHoareTripleChecker+Invalid, 2614 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 214 IncrementalHoareTripleChecker+Valid, 2400 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-28 09:10:44,533 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [209 Valid, 33 Invalid, 2614 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [214 Valid, 2400 Invalid, 0 Unknown, 0 Unchecked, 3.4s Time] [2022-04-28 09:10:44,534 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2901 states. [2022-04-28 09:11:14,266 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2901 to 2224. [2022-04-28 09:11:14,266 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 09:11:14,269 INFO L82 GeneralOperation]: Start isEquivalent. First operand 2901 states. Second operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:11:14,270 INFO L74 IsIncluded]: Start isIncluded. First operand 2901 states. Second operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:11:14,271 INFO L87 Difference]: Start difference. First operand 2901 states. Second operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:11:14,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:11:14,463 INFO L93 Difference]: Finished difference Result 2901 states and 3980 transitions. [2022-04-28 09:11:14,463 INFO L276 IsEmpty]: Start isEmpty. Operand 2901 states and 3980 transitions. [2022-04-28 09:11:14,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:11:14,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:11:14,467 INFO L74 IsIncluded]: Start isIncluded. First operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 2901 states. [2022-04-28 09:11:14,471 INFO L87 Difference]: Start difference. First operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 2901 states. [2022-04-28 09:11:14,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 09:11:14,664 INFO L93 Difference]: Finished difference Result 2901 states and 3980 transitions. [2022-04-28 09:11:14,664 INFO L276 IsEmpty]: Start isEmpty. Operand 2901 states and 3980 transitions. [2022-04-28 09:11:14,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 09:11:14,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 09:11:14,666 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 09:11:14,666 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 09:11:14,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2224 states, 2208 states have (on average 1.3718297101449275) internal successors, (3029), 2209 states have internal predecessors, (3029), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 09:11:14,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2224 states to 2224 states and 3044 transitions. [2022-04-28 09:11:14,860 INFO L78 Accepts]: Start accepts. Automaton has 2224 states and 3044 transitions. Word has length 110 [2022-04-28 09:11:14,861 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 09:11:14,861 INFO L495 AbstractCegarLoop]: Abstraction has 2224 states and 3044 transitions. [2022-04-28 09:11:14,861 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 36 states, 36 states have (on average 1.75) internal successors, (63), 34 states have internal predecessors, (63), 4 states have call successors, (5), 5 states have call predecessors, (5), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 09:11:14,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2224 states and 3044 transitions. [2022-04-28 09:11:33,669 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 3044 edges. 3044 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:11:33,670 INFO L276 IsEmpty]: Start isEmpty. Operand 2224 states and 3044 transitions. [2022-04-28 09:11:33,672 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-28 09:11:33,672 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 09:11:33,673 INFO L195 NwaCegarLoop]: trace histogram [10, 10, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 09:11:33,689 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (37)] Forceful destruction successful, exit code 0 [2022-04-28 09:11:33,873 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable37,37 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:11:33,873 INFO L420 AbstractCegarLoop]: === Iteration 39 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 09:11:33,873 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 09:11:33,873 INFO L85 PathProgramCache]: Analyzing trace with hash -498967174, now seen corresponding path program 27 times [2022-04-28 09:11:33,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 09:11:33,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [105868711] [2022-04-28 09:11:33,875 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-28 09:11:33,875 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 09:11:33,875 INFO L85 PathProgramCache]: Analyzing trace with hash -498967174, now seen corresponding path program 28 times [2022-04-28 09:11:33,876 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 09:11:33,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1576126706] [2022-04-28 09:11:33,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 09:11:33,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 09:11:33,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:11:34,552 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 09:11:34,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:11:34,572 INFO L290 TraceCheckUtils]: 0: Hoare triple {129459#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,573 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {129367#true} #95#return; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,586 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 09:11:34,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:11:34,674 INFO L290 TraceCheckUtils]: 0: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {129460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:11:34,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:11:34,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,676 INFO L290 TraceCheckUtils]: 3: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,676 INFO L290 TraceCheckUtils]: 4: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,676 INFO L290 TraceCheckUtils]: 5: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,677 INFO L290 TraceCheckUtils]: 6: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,678 INFO L290 TraceCheckUtils]: 9: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,678 INFO L290 TraceCheckUtils]: 10: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,679 INFO L290 TraceCheckUtils]: 11: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,679 INFO L290 TraceCheckUtils]: 12: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,679 INFO L290 TraceCheckUtils]: 13: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,680 INFO L290 TraceCheckUtils]: 14: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(~i~0 < ~n~0); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,680 INFO L290 TraceCheckUtils]: 15: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,681 INFO L290 TraceCheckUtils]: 16: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,681 INFO L290 TraceCheckUtils]: 17: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,682 INFO L290 TraceCheckUtils]: 18: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,682 INFO L290 TraceCheckUtils]: 19: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,682 INFO L290 TraceCheckUtils]: 20: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,683 INFO L290 TraceCheckUtils]: 21: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,683 INFO L290 TraceCheckUtils]: 22: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,683 INFO L290 TraceCheckUtils]: 23: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,684 INFO L290 TraceCheckUtils]: 24: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,684 INFO L290 TraceCheckUtils]: 25: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,685 INFO L290 TraceCheckUtils]: 26: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,685 INFO L290 TraceCheckUtils]: 27: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,686 INFO L290 TraceCheckUtils]: 28: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,686 INFO L290 TraceCheckUtils]: 29: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,686 INFO L290 TraceCheckUtils]: 30: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,687 INFO L290 TraceCheckUtils]: 31: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,687 INFO L290 TraceCheckUtils]: 32: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,688 INFO L290 TraceCheckUtils]: 33: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,688 INFO L290 TraceCheckUtils]: 34: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,688 INFO L290 TraceCheckUtils]: 35: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,689 INFO L290 TraceCheckUtils]: 36: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,689 INFO L290 TraceCheckUtils]: 37: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,690 INFO L290 TraceCheckUtils]: 38: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,690 INFO L290 TraceCheckUtils]: 39: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,691 INFO L290 TraceCheckUtils]: 40: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,691 INFO L290 TraceCheckUtils]: 41: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,692 INFO L290 TraceCheckUtils]: 42: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,692 INFO L290 TraceCheckUtils]: 43: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,693 INFO L290 TraceCheckUtils]: 44: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,693 INFO L290 TraceCheckUtils]: 45: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,694 INFO L290 TraceCheckUtils]: 46: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,694 INFO L290 TraceCheckUtils]: 47: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,695 INFO L290 TraceCheckUtils]: 48: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,695 INFO L290 TraceCheckUtils]: 49: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,696 INFO L290 TraceCheckUtils]: 50: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,696 INFO L290 TraceCheckUtils]: 51: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~lh~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,696 INFO L290 TraceCheckUtils]: 52: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume true; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,697 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} #91#return; {129434#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4))} is VALID [2022-04-28 09:11:34,698 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-28 09:11:34,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:11:34,701 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-28 09:11:34,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-28 09:11:34,701 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-28 09:11:34,702 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129367#true} {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} #93#return; {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} is VALID [2022-04-28 09:11:34,702 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-28 09:11:34,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:11:34,704 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-28 09:11:34,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-28 09:11:34,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-28 09:11:34,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129367#true} {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} #93#return; {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} is VALID [2022-04-28 09:11:34,705 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-28 09:11:34,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:11:34,707 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-28 09:11:34,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-28 09:11:34,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-28 09:11:34,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129367#true} {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} #93#return; {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} is VALID [2022-04-28 09:11:34,708 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-28 09:11:34,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:11:34,710 INFO L290 TraceCheckUtils]: 0: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-28 09:11:34,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-28 09:11:34,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-28 09:11:34,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129367#true} {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} #93#return; {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} is VALID [2022-04-28 09:11:34,711 INFO L272 TraceCheckUtils]: 0: Hoare triple {129367#true} call ULTIMATE.init(); {129459#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 09:11:34,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {129459#(and (= ~n~0 |old(~n~0)|) (= |~#array~0.offset| |old(~#array~0.offset)|) (= |old(~#array~0.base)| |~#array~0.base|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} assume true; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} {129367#true} #95#return; {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call #t~ret10 := main(); {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {129372#(and (<= 0 |~#array~0.offset|) (= 3 |~#array~0.base|) (= (select |#valid| 3) 1) (<= |~#array~0.offset| 0))} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {129373#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) (< main_~i~1 (+ 5 |~#array~0.offset|)) (<= main_~i~1 4))} is VALID [2022-04-28 09:11:34,714 INFO L290 TraceCheckUtils]: 6: Hoare triple {129373#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) (< main_~i~1 (+ 5 |~#array~0.offset|)) (<= main_~i~1 4))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129374#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (< main_~i~1 (+ 5 |~#array~0.offset|)) (<= main_~i~1 4))} is VALID [2022-04-28 09:11:34,715 INFO L290 TraceCheckUtils]: 7: Hoare triple {129374#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (< main_~i~1 (+ 5 |~#array~0.offset|)) (<= main_~i~1 4))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129375#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,716 INFO L290 TraceCheckUtils]: 8: Hoare triple {129375#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129375#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,717 INFO L290 TraceCheckUtils]: 9: Hoare triple {129375#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 12) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 12)) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129376#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,718 INFO L290 TraceCheckUtils]: 10: Hoare triple {129376#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129376#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,718 INFO L290 TraceCheckUtils]: 11: Hoare triple {129376#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= (+ |~#array~0.offset| 8) (* main_~i~1 4)) (<= (* main_~i~1 4) (+ |~#array~0.offset| 8)) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129377#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= main_~i~1 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,719 INFO L290 TraceCheckUtils]: 12: Hoare triple {129377#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= main_~i~1 1) (<= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129377#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= main_~i~1 1) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,720 INFO L290 TraceCheckUtils]: 13: Hoare triple {129377#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= main_~i~1 1) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129378#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (or (and (not (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0)) (and (<= main_~i~1 0) (not (= 0 (+ (* main_~i~1 4) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:34,721 INFO L290 TraceCheckUtils]: 14: Hoare triple {129378#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (or (and (not (= (+ 16 |~#array~0.offset|) (+ (* main_~i~1 4) |main_~#array~1.offset|))) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0)) (and (<= main_~i~1 0) (not (= 0 (+ (* main_~i~1 4) |main_~#array~1.offset|))))))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,721 INFO L290 TraceCheckUtils]: 15: Hoare triple {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,722 INFO L290 TraceCheckUtils]: 16: Hoare triple {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:34,722 INFO L272 TraceCheckUtils]: 17: Hoare triple {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} call SelectionSort(); {129460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:11:34,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {129460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:11:34,723 INFO L290 TraceCheckUtils]: 19: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 09:11:34,723 INFO L290 TraceCheckUtils]: 20: Hoare triple {129460#(= |#memory_int| |old(#memory_int)|)} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,724 INFO L290 TraceCheckUtils]: 21: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,724 INFO L290 TraceCheckUtils]: 22: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,725 INFO L290 TraceCheckUtils]: 23: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,725 INFO L290 TraceCheckUtils]: 25: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,726 INFO L290 TraceCheckUtils]: 26: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,726 INFO L290 TraceCheckUtils]: 27: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,726 INFO L290 TraceCheckUtils]: 28: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,727 INFO L290 TraceCheckUtils]: 29: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,727 INFO L290 TraceCheckUtils]: 30: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,728 INFO L290 TraceCheckUtils]: 31: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,728 INFO L290 TraceCheckUtils]: 32: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} assume !(~i~0 < ~n~0); {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} is VALID [2022-04-28 09:11:34,729 INFO L290 TraceCheckUtils]: 33: Hoare triple {129461#(or (= |#memory_int| |old(#memory_int)|) (not (= |~#array~0.offset| 0)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,729 INFO L290 TraceCheckUtils]: 34: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,729 INFO L290 TraceCheckUtils]: 35: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,730 INFO L290 TraceCheckUtils]: 36: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,730 INFO L290 TraceCheckUtils]: 37: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,731 INFO L290 TraceCheckUtils]: 38: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,731 INFO L290 TraceCheckUtils]: 39: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,731 INFO L290 TraceCheckUtils]: 40: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,732 INFO L290 TraceCheckUtils]: 41: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,732 INFO L290 TraceCheckUtils]: 42: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,732 INFO L290 TraceCheckUtils]: 43: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,733 INFO L290 TraceCheckUtils]: 44: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,733 INFO L290 TraceCheckUtils]: 45: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,734 INFO L290 TraceCheckUtils]: 46: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,734 INFO L290 TraceCheckUtils]: 47: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,735 INFO L290 TraceCheckUtils]: 48: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,735 INFO L290 TraceCheckUtils]: 50: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,736 INFO L290 TraceCheckUtils]: 51: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,736 INFO L290 TraceCheckUtils]: 52: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,737 INFO L290 TraceCheckUtils]: 53: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,737 INFO L290 TraceCheckUtils]: 54: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,737 INFO L290 TraceCheckUtils]: 55: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,738 INFO L290 TraceCheckUtils]: 56: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,738 INFO L290 TraceCheckUtils]: 57: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,739 INFO L290 TraceCheckUtils]: 58: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,739 INFO L290 TraceCheckUtils]: 59: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,740 INFO L290 TraceCheckUtils]: 60: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,740 INFO L290 TraceCheckUtils]: 61: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,740 INFO L290 TraceCheckUtils]: 62: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,741 INFO L290 TraceCheckUtils]: 63: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,741 INFO L290 TraceCheckUtils]: 64: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,742 INFO L290 TraceCheckUtils]: 65: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,742 INFO L290 TraceCheckUtils]: 66: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~i~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,743 INFO L290 TraceCheckUtils]: 67: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,743 INFO L290 TraceCheckUtils]: 68: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,743 INFO L290 TraceCheckUtils]: 69: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume !(~lh~0 < ~n~0); {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,744 INFO L290 TraceCheckUtils]: 70: Hoare triple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} assume true; {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} is VALID [2022-04-28 09:11:34,745 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {129462#(or (not (= |~#array~0.offset| 0)) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| (select |#memory_int| |~#array~0.base|))))} {129379#(and (= |main_~#array~1.offset| 0) (not (= |main_~#array~1.base| |~#array~0.base|)) (<= 0 |~#array~0.offset|) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 |~#array~0.offset|)) (+ |~#array~0.offset| 4)) (<= |~#array~0.offset| 0))} #91#return; {129434#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4))} is VALID [2022-04-28 09:11:34,745 INFO L290 TraceCheckUtils]: 72: Hoare triple {129434#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4))} ~i~1 := 0; {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} is VALID [2022-04-28 09:11:34,745 INFO L290 TraceCheckUtils]: 73: Hoare triple {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} is VALID [2022-04-28 09:11:34,746 INFO L272 TraceCheckUtils]: 74: Hoare triple {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129367#true} is VALID [2022-04-28 09:11:34,746 INFO L290 TraceCheckUtils]: 75: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-28 09:11:34,746 INFO L290 TraceCheckUtils]: 76: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-28 09:11:34,746 INFO L290 TraceCheckUtils]: 77: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-28 09:11:34,746 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {129367#true} {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} #93#return; {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} is VALID [2022-04-28 09:11:34,747 INFO L290 TraceCheckUtils]: 79: Hoare triple {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} havoc #t~mem9; {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} is VALID [2022-04-28 09:11:34,747 INFO L290 TraceCheckUtils]: 80: Hoare triple {129435#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) 16) 4) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} is VALID [2022-04-28 09:11:34,748 INFO L290 TraceCheckUtils]: 81: Hoare triple {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} is VALID [2022-04-28 09:11:34,748 INFO L272 TraceCheckUtils]: 82: Hoare triple {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129367#true} is VALID [2022-04-28 09:11:34,748 INFO L290 TraceCheckUtils]: 83: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-28 09:11:34,748 INFO L290 TraceCheckUtils]: 84: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-28 09:11:34,748 INFO L290 TraceCheckUtils]: 85: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-28 09:11:34,748 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {129367#true} {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} #93#return; {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} is VALID [2022-04-28 09:11:34,749 INFO L290 TraceCheckUtils]: 87: Hoare triple {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} havoc #t~mem9; {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} is VALID [2022-04-28 09:11:34,750 INFO L290 TraceCheckUtils]: 88: Hoare triple {129440#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12)) (+ main_~i~1 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} is VALID [2022-04-28 09:11:34,750 INFO L290 TraceCheckUtils]: 89: Hoare triple {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} is VALID [2022-04-28 09:11:34,750 INFO L272 TraceCheckUtils]: 90: Hoare triple {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129367#true} is VALID [2022-04-28 09:11:34,750 INFO L290 TraceCheckUtils]: 91: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-28 09:11:34,750 INFO L290 TraceCheckUtils]: 92: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-28 09:11:34,750 INFO L290 TraceCheckUtils]: 93: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-28 09:11:34,751 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {129367#true} {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} #93#return; {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} is VALID [2022-04-28 09:11:34,751 INFO L290 TraceCheckUtils]: 95: Hoare triple {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} havoc #t~mem9; {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} is VALID [2022-04-28 09:11:34,752 INFO L290 TraceCheckUtils]: 96: Hoare triple {129445#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8)) (+ main_~i~1 2)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} is VALID [2022-04-28 09:11:34,752 INFO L290 TraceCheckUtils]: 97: Hoare triple {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} is VALID [2022-04-28 09:11:34,752 INFO L272 TraceCheckUtils]: 98: Hoare triple {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129367#true} is VALID [2022-04-28 09:11:34,752 INFO L290 TraceCheckUtils]: 99: Hoare triple {129367#true} ~cond := #in~cond; {129367#true} is VALID [2022-04-28 09:11:34,753 INFO L290 TraceCheckUtils]: 100: Hoare triple {129367#true} assume !(0 == ~cond); {129367#true} is VALID [2022-04-28 09:11:34,753 INFO L290 TraceCheckUtils]: 101: Hoare triple {129367#true} assume true; {129367#true} is VALID [2022-04-28 09:11:34,753 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {129367#true} {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} #93#return; {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} is VALID [2022-04-28 09:11:34,754 INFO L290 TraceCheckUtils]: 103: Hoare triple {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} havoc #t~mem9; {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} is VALID [2022-04-28 09:11:34,754 INFO L290 TraceCheckUtils]: 104: Hoare triple {129450#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4)) (+ main_~i~1 1)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129455#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:11:34,754 INFO L290 TraceCheckUtils]: 105: Hoare triple {129455#(and (= |main_~#array~1.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129456#(= main_~i~1 |main_#t~mem9|)} is VALID [2022-04-28 09:11:34,755 INFO L272 TraceCheckUtils]: 106: Hoare triple {129456#(= main_~i~1 |main_#t~mem9|)} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129457#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 09:11:34,755 INFO L290 TraceCheckUtils]: 107: Hoare triple {129457#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {129458#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 09:11:34,756 INFO L290 TraceCheckUtils]: 108: Hoare triple {129458#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {129368#false} is VALID [2022-04-28 09:11:34,756 INFO L290 TraceCheckUtils]: 109: Hoare triple {129368#false} assume !false; {129368#false} is VALID [2022-04-28 09:11:34,756 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 8 proven. 168 refuted. 0 times theorem prover too weak. 143 trivial. 0 not checked. [2022-04-28 09:11:34,756 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 09:11:34,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1576126706] [2022-04-28 09:11:34,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1576126706] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:11:34,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [889072415] [2022-04-28 09:11:34,757 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 09:11:34,757 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 09:11:34,757 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 09:11:34,758 INFO L229 MonitoredProcess]: Starting monitored process 38 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 09:11:34,759 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (38)] Waiting until timeout for monitored process [2022-04-28 09:11:34,958 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 09:11:34,959 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 09:11:34,961 INFO L263 TraceCheckSpWp]: Trace formula consists of 371 conjuncts, 72 conjunts are in the unsatisfiable core [2022-04-28 09:11:34,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 09:11:34,985 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 09:11:35,038 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 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 15 treesize of output 11 [2022-04-28 09:11:35,109 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-28 09:11:35,109 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-28 09:11:35,162 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-28 09:11:35,162 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 30 treesize of output 29 [2022-04-28 09:11:35,232 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:11:35,232 INFO L390 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 30 treesize of output 29 [2022-04-28 09:11:35,354 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:11:35,355 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:11:35,356 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:11:35,358 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-28 09:11:35,358 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 44 treesize of output 46 [2022-04-28 09:11:36,974 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-04-28 09:11:36,975 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 57 treesize of output 55 [2022-04-28 09:11:41,242 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:11:41,242 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:11:41,243 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:11:41,244 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:11:41,244 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 09:11:41,245 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-28 09:11:41,247 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-28 09:11:41,248 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 45 treesize of output 20 [2022-04-28 09:11:41,434 INFO L272 TraceCheckUtils]: 0: Hoare triple {129367#true} call ULTIMATE.init(); {129367#true} is VALID [2022-04-28 09:11:41,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {129367#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(12, 2);~#array~0.base, ~#array~0.offset := 3, 0;call #Ultimate.allocInit(20, 3);call write~init~int(0, ~#array~0.base, ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 4 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 8 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 12 + ~#array~0.offset, 4);call write~init~int(0, ~#array~0.base, 16 + ~#array~0.offset, 4);~n~0 := 5; {129469#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:11:41,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {129469#(= |~#array~0.offset| 0)} assume true; {129469#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:11:41,435 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {129469#(= |~#array~0.offset| 0)} {129367#true} #95#return; {129469#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:11:41,435 INFO L272 TraceCheckUtils]: 4: Hoare triple {129469#(= |~#array~0.offset| 0)} call #t~ret10 := main(); {129469#(= |~#array~0.offset| 0)} is VALID [2022-04-28 09:11:41,435 INFO L290 TraceCheckUtils]: 5: Hoare triple {129469#(= |~#array~0.offset| 0)} call ~#array~1.base, ~#array~1.offset := #Ultimate.allocOnStack(20);havoc ~i~1;~i~1 := 4; {129482#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,436 INFO L290 TraceCheckUtils]: 6: Hoare triple {129482#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129486#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:11:41,436 INFO L290 TraceCheckUtils]: 7: Hoare triple {129486#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129490#(and (= |main_~#array~1.offset| 0) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,437 INFO L290 TraceCheckUtils]: 8: Hoare triple {129490#(and (= |main_~#array~1.offset| 0) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129490#(and (= |main_~#array~1.offset| 0) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,438 INFO L290 TraceCheckUtils]: 9: Hoare triple {129490#(and (= |main_~#array~1.offset| 0) (= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129497#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,438 INFO L290 TraceCheckUtils]: 10: Hoare triple {129497#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129497#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,439 INFO L290 TraceCheckUtils]: 11: Hoare triple {129497#(and (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 8 |main_~#array~1.offset|)) (+ main_~i~1 2)) (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129504#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} is VALID [2022-04-28 09:11:41,440 INFO L290 TraceCheckUtils]: 12: Hoare triple {129504#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129508#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)) (<= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} is VALID [2022-04-28 09:11:41,441 INFO L290 TraceCheckUtils]: 13: Hoare triple {129508#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 12 |main_~#array~1.offset|)) (+ main_~i~1 3)) (<= main_~i~1 (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|))))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129512#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (<= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,441 INFO L290 TraceCheckUtils]: 14: Hoare triple {129512#(and (= |main_~#array~1.offset| 0) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (<= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} assume !!(~i~1 >= 0);call write~int(~i~1, ~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129516#(and (= |main_~#array~1.offset| 0) (<= 0 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) main_~i~1) (<= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,442 INFO L290 TraceCheckUtils]: 15: Hoare triple {129516#(and (= |main_~#array~1.offset| 0) (<= 0 main_~i~1) (= (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* main_~i~1 4) |main_~#array~1.offset|)) (+ main_~i~1 4)) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) |main_~#array~1.offset|)) main_~i~1) (<= (+ main_~i~1 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* main_~i~1 4) 4 |main_~#array~1.offset|))) (= |~#array~0.offset| 0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {129520#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))) (<= v_main_~i~1_309 (+ main_~i~1 1)))) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,443 INFO L290 TraceCheckUtils]: 16: Hoare triple {129520#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))) (<= v_main_~i~1_309 (+ main_~i~1 1)))) (= |~#array~0.offset| 0))} assume !(~i~1 >= 0); {129524#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,444 INFO L272 TraceCheckUtils]: 17: Hoare triple {129524#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} call SelectionSort(); {129528#(and (= |#memory_int| |old(#memory_int)|) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,444 INFO L290 TraceCheckUtils]: 18: Hoare triple {129528#(and (= |#memory_int| |old(#memory_int)|) (= |~#array~0.offset| 0))} havoc ~lh~0;havoc ~rh~0;havoc ~i~0;havoc ~temp~0;~lh~0 := 0; {129532#(and (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,445 INFO L290 TraceCheckUtils]: 19: Hoare triple {129532#(and (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129536#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,445 INFO L290 TraceCheckUtils]: 20: Hoare triple {129536#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= SelectionSort_~lh~0 SelectionSort_~rh~0) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129540#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} is VALID [2022-04-28 09:11:41,446 INFO L290 TraceCheckUtils]: 21: Hoare triple {129540#(and (= SelectionSort_~i~0 (+ SelectionSort_~lh~0 1)) (= |#memory_int| |old(#memory_int)|) (<= |SelectionSort_#t~mem4| (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0) (<= (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~i~0 4))) |SelectionSort_#t~mem3|))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,446 INFO L290 TraceCheckUtils]: 22: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,447 INFO L290 TraceCheckUtils]: 23: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,447 INFO L290 TraceCheckUtils]: 24: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,448 INFO L290 TraceCheckUtils]: 25: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,448 INFO L290 TraceCheckUtils]: 26: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,449 INFO L290 TraceCheckUtils]: 27: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,449 INFO L290 TraceCheckUtils]: 28: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,449 INFO L290 TraceCheckUtils]: 29: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,450 INFO L290 TraceCheckUtils]: 30: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,450 INFO L290 TraceCheckUtils]: 31: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,451 INFO L290 TraceCheckUtils]: 32: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} assume !(~i~0 < ~n~0); {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,452 INFO L290 TraceCheckUtils]: 33: Hoare triple {129544#(and (< (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |#memory_int| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (= |#memory_int| |old(#memory_int)|) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129581#(and (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} is VALID [2022-04-28 09:11:41,452 INFO L290 TraceCheckUtils]: 34: Hoare triple {129581#(and (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4 (* SelectionSort_~lh~0 4))) (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| (* SelectionSort_~lh~0 4)))) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= SelectionSort_~lh~0 0) (= |~#array~0.offset| 0))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,452 INFO L290 TraceCheckUtils]: 35: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,453 INFO L290 TraceCheckUtils]: 36: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,453 INFO L290 TraceCheckUtils]: 37: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,454 INFO L290 TraceCheckUtils]: 38: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,454 INFO L290 TraceCheckUtils]: 39: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,455 INFO L290 TraceCheckUtils]: 40: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,455 INFO L290 TraceCheckUtils]: 41: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,456 INFO L290 TraceCheckUtils]: 42: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,456 INFO L290 TraceCheckUtils]: 43: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,456 INFO L290 TraceCheckUtils]: 44: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,457 INFO L290 TraceCheckUtils]: 45: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(~i~0 < ~n~0); {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,458 WARN L290 TraceCheckUtils]: 46: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is UNKNOWN [2022-04-28 09:11:41,459 INFO L290 TraceCheckUtils]: 47: Hoare triple {129585#(and (= SelectionSort_~lh~0 1) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,459 INFO L290 TraceCheckUtils]: 48: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,460 INFO L290 TraceCheckUtils]: 49: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,460 INFO L290 TraceCheckUtils]: 50: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,461 INFO L290 TraceCheckUtils]: 51: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,461 INFO L290 TraceCheckUtils]: 52: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,462 INFO L290 TraceCheckUtils]: 53: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,462 INFO L290 TraceCheckUtils]: 54: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,462 INFO L290 TraceCheckUtils]: 55: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(~i~0 < ~n~0); {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,464 WARN L290 TraceCheckUtils]: 56: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is UNKNOWN [2022-04-28 09:11:41,464 INFO L290 TraceCheckUtils]: 57: Hoare triple {129625#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= (+ (- 1) SelectionSort_~lh~0) 1) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,465 INFO L290 TraceCheckUtils]: 58: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,465 INFO L290 TraceCheckUtils]: 59: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !!(~i~0 < ~n~0);call #t~mem3 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~i~0, 4);call #t~mem4 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,466 INFO L290 TraceCheckUtils]: 60: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume #t~mem3 < #t~mem4;havoc #t~mem3;havoc #t~mem4;~rh~0 := ~i~0; {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,466 INFO L290 TraceCheckUtils]: 61: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,466 INFO L290 TraceCheckUtils]: 62: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(~i~0 < ~n~0); {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,468 WARN L290 TraceCheckUtils]: 63: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is UNKNOWN [2022-04-28 09:11:41,468 INFO L290 TraceCheckUtils]: 64: Hoare triple {129656#(and (= SelectionSort_~lh~0 3) (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129678#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= 3 (+ (- 1) SelectionSort_~lh~0)))} is VALID [2022-04-28 09:11:41,469 INFO L290 TraceCheckUtils]: 65: Hoare triple {129678#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)) (= 3 (+ (- 1) SelectionSort_~lh~0)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,469 INFO L290 TraceCheckUtils]: 66: Hoare triple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(~i~0 < ~n~0); {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,471 WARN L290 TraceCheckUtils]: 67: Hoare triple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} call #t~mem5 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);~temp~0 := #t~mem5;havoc #t~mem5;call #t~mem6 := read~int(~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4);call write~int(#t~mem6, ~#array~0.base, ~#array~0.offset + 4 * ~lh~0, 4);havoc #t~mem6;call write~int(~temp~0, ~#array~0.base, ~#array~0.offset + 4 * ~rh~0, 4); {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is UNKNOWN [2022-04-28 09:11:41,472 INFO L290 TraceCheckUtils]: 68: Hoare triple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,472 INFO L290 TraceCheckUtils]: 69: Hoare triple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume !(~lh~0 < ~n~0); {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,473 INFO L290 TraceCheckUtils]: 70: Hoare triple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} assume true; {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} is VALID [2022-04-28 09:11:41,474 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {129682#(and (exists ((v_ArrVal_2166 (Array Int Int))) (= |#memory_int| (store |old(#memory_int)| |~#array~0.base| v_ArrVal_2166))) (= |~#array~0.offset| 0) (< (select (select |old(#memory_int)| |~#array~0.base|) (+ |~#array~0.offset| 4)) (select (select |old(#memory_int)| |~#array~0.base|) |~#array~0.offset|)))} {129524#(and (= |main_~#array~1.offset| 0) (= |~#array~0.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #91#return; {129701#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,475 INFO L290 TraceCheckUtils]: 72: Hoare triple {129701#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} ~i~1 := 0; {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} is VALID [2022-04-28 09:11:41,476 INFO L290 TraceCheckUtils]: 73: Hoare triple {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} is VALID [2022-04-28 09:11:41,477 INFO L272 TraceCheckUtils]: 74: Hoare triple {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,478 INFO L290 TraceCheckUtils]: 75: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} ~cond := #in~cond; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,479 INFO L290 TraceCheckUtils]: 76: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume !(0 == ~cond); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,480 INFO L290 TraceCheckUtils]: 77: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume true; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,480 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} #93#return; {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} is VALID [2022-04-28 09:11:41,481 INFO L290 TraceCheckUtils]: 79: Hoare triple {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} havoc #t~mem9; {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} is VALID [2022-04-28 09:11:41,482 INFO L290 TraceCheckUtils]: 80: Hoare triple {129705#(and (= |main_~#array~1.offset| 0) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))) (= main_~i~1 0))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,483 INFO L290 TraceCheckUtils]: 81: Hoare triple {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,484 INFO L272 TraceCheckUtils]: 82: Hoare triple {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,485 INFO L290 TraceCheckUtils]: 83: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} ~cond := #in~cond; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,486 INFO L290 TraceCheckUtils]: 84: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume !(0 == ~cond); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,487 INFO L290 TraceCheckUtils]: 85: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume true; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,487 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #93#return; {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,488 INFO L290 TraceCheckUtils]: 87: Hoare triple {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} havoc #t~mem9; {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,489 INFO L290 TraceCheckUtils]: 88: Hoare triple {129731#(and (= |main_~#array~1.offset| 0) (= 0 (+ (- 1) main_~i~1)) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,490 INFO L290 TraceCheckUtils]: 89: Hoare triple {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,491 INFO L272 TraceCheckUtils]: 90: Hoare triple {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,492 INFO L290 TraceCheckUtils]: 91: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} ~cond := #in~cond; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,493 INFO L290 TraceCheckUtils]: 92: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume !(0 == ~cond); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,494 INFO L290 TraceCheckUtils]: 93: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume true; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,494 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #93#return; {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,495 INFO L290 TraceCheckUtils]: 95: Hoare triple {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} havoc #t~mem9; {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,496 INFO L290 TraceCheckUtils]: 96: Hoare triple {129756#(and (= |main_~#array~1.offset| 0) (= main_~i~1 2) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,497 INFO L290 TraceCheckUtils]: 97: Hoare triple {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,498 INFO L272 TraceCheckUtils]: 98: Hoare triple {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,499 INFO L290 TraceCheckUtils]: 99: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} ~cond := #in~cond; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,500 INFO L290 TraceCheckUtils]: 100: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume !(0 == ~cond); {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,500 INFO L290 TraceCheckUtils]: 101: Hoare triple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} assume true; {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} is VALID [2022-04-28 09:11:41,501 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {129712#(exists ((|v_main_~#array~1.base_BEFORE_CALL_72| Int) (v_main_~i~1_309 Int)) (and (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ (* 4 v_main_~i~1_309) 4))) (< v_main_~i~1_309 1) (<= 0 v_main_~i~1_309) (<= (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (* 4 v_main_~i~1_309)) v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |v_main_~#array~1.base_BEFORE_CALL_72|) (+ 16 (* 4 v_main_~i~1_309))))))} {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #93#return; {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,502 INFO L290 TraceCheckUtils]: 103: Hoare triple {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} havoc #t~mem9; {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,503 INFO L290 TraceCheckUtils]: 104: Hoare triple {129781#(and (= |main_~#array~1.offset| 0) (= main_~i~1 3) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {129806#(and (= |main_~#array~1.offset| 0) (= main_~i~1 4) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} is VALID [2022-04-28 09:11:41,504 INFO L290 TraceCheckUtils]: 105: Hoare triple {129806#(and (= |main_~#array~1.offset| 0) (= main_~i~1 4) (exists ((v_main_~i~1_309 Int)) (and (< v_main_~i~1_309 1) (<= (+ v_main_~i~1_309 1) (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) 4 |main_~#array~1.offset|))) (<= (select (select |#memory_int| |main_~#array~1.base|) (+ (* 4 v_main_~i~1_309) |main_~#array~1.offset|)) v_main_~i~1_309) (<= 0 v_main_~i~1_309) (= (+ 4 v_main_~i~1_309) (select (select |#memory_int| |main_~#array~1.base|) (+ 16 (* 4 v_main_~i~1_309) |main_~#array~1.offset|))))))} assume !!(~i~1 < 5);call #t~mem9 := read~int(~#array~1.base, ~#array~1.offset + 4 * ~i~1, 4); {129810#(and (< |main_#t~mem9| 5) (= main_~i~1 4) (<= 4 |main_#t~mem9|))} is VALID [2022-04-28 09:11:41,504 INFO L272 TraceCheckUtils]: 106: Hoare triple {129810#(and (< |main_#t~mem9| 5) (= main_~i~1 4) (<= 4 |main_#t~mem9|))} call __VERIFIER_assert((if #t~mem9 == ~i~1 then 1 else 0)); {129814#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 09:11:41,504 INFO L290 TraceCheckUtils]: 107: Hoare triple {129814#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {129818#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 09:11:41,505 INFO L290 TraceCheckUtils]: 108: Hoare triple {129818#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {129368#false} is VALID [2022-04-28 09:11:41,505 INFO L290 TraceCheckUtils]: 109: Hoare triple {129368#false} assume !false; {129368#false} is VALID [2022-04-28 09:11:41,506 INFO L134 CoverageAnalysis]: Checked inductivity of 319 backedges. 5 proven. 257 refuted. 0 times theorem prover too weak. 57 trivial. 0 not checked. [2022-04-28 09:11:41,506 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 09:11:42,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [889072415] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 09:11:42,053 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 09:11:42,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 34] total 55 [2022-04-28 09:11:42,053 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 09:11:42,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [105868711] [2022-04-28 09:11:42,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [105868711] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 09:11:42,053 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 09:11:42,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 09:11:42,053 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [129808112] [2022-04-28 09:11:42,053 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 09:11:42,054 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 20 states have internal predecessors, (53), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Word has length 110 [2022-04-28 09:11:42,054 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 09:11:42,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 20 states have internal predecessors, (53), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 09:11:42,103 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 09:11:42,104 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 09:11:42,104 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 09:11:42,104 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 09:11:42,104 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=291, Invalid=3482, Unknown=9, NotChecked=0, Total=3782 [2022-04-28 09:11:42,104 INFO L87 Difference]: Start difference. First operand 2224 states and 3044 transitions. Second operand has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 20 states have internal predecessors, (53), 8 states have call successors, (8), 5 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6)