/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-e106359-m [2022-04-15 12:01:34,662 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 12:01:34,664 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 12:01:34,707 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 12:01:34,707 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 12:01:34,708 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 12:01:34,710 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 12:01:34,716 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 12:01:34,717 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 12:01:34,718 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 12:01:34,718 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 12:01:34,719 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 12:01:34,720 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 12:01:34,720 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 12:01:34,721 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 12:01:34,724 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 12:01:34,725 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 12:01:34,725 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 12:01:34,726 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 12:01:34,728 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 12:01:34,729 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 12:01:34,730 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 12:01:34,731 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 12:01:34,732 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 12:01:34,732 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 12:01:34,734 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 12:01:34,735 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 12:01:34,735 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 12:01:34,735 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 12:01:34,736 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 12:01:34,736 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 12:01:34,737 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 12:01:34,737 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 12:01:34,738 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 12:01:34,738 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 12:01:34,739 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 12:01:34,739 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 12:01:34,740 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 12:01:34,740 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 12:01:34,740 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 12:01:34,741 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 12:01:34,741 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 12:01:34,742 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 12:01:34,749 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 12:01:34,750 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 12:01:34,751 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 12:01:34,751 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 12:01:34,751 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 12:01:34,751 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 12:01:34,751 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 12:01:34,752 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 12:01:34,752 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 12:01:34,752 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 12:01:34,752 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 12:01:34,752 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 12:01:34,752 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 12:01:34,753 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 12:01:34,753 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 12:01:34,753 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 12:01:34,753 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 12:01:34,753 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 12:01:34,753 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 12:01:34,753 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 12:01:34,753 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 12:01:34,754 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 12:01:34,754 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-15 12:01:34,974 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 12:01:34,990 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 12:01:34,992 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 12:01:34,993 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 12:01:34,993 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 12:01:34,994 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-15 12:01:35,058 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9cf7d5e21/4f9adf128d1a4b54b0b7b17078be6b96/FLAGd01eadcd5 [2022-04-15 12:01:35,466 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 12:01:35,466 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/eureka_05.i [2022-04-15 12:01:35,471 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9cf7d5e21/4f9adf128d1a4b54b0b7b17078be6b96/FLAGd01eadcd5 [2022-04-15 12:01:35,490 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9cf7d5e21/4f9adf128d1a4b54b0b7b17078be6b96 [2022-04-15 12:01:35,493 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 12:01:35,494 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 12:01:35,495 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 12:01:35,495 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 12:01:35,497 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 12:01:35,498 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 12:01:35" (1/1) ... [2022-04-15 12:01:35,499 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1c00ded2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35, skipping insertion in model container [2022-04-15 12:01:35,499 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 12:01:35" (1/1) ... [2022-04-15 12:01:35,503 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 12:01:35,513 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 12:01:35,667 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-15 12:01:35,692 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 12:01:35,698 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 12:01:35,712 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-15 12:01:35,731 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 12:01:35,747 INFO L208 MainTranslator]: Completed translation [2022-04-15 12:01:35,747 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35 WrapperNode [2022-04-15 12:01:35,747 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 12:01:35,748 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 12:01:35,748 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 12:01:35,748 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 12:01:35,757 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35" (1/1) ... [2022-04-15 12:01:35,757 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35" (1/1) ... [2022-04-15 12:01:35,765 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35" (1/1) ... [2022-04-15 12:01:35,766 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35" (1/1) ... [2022-04-15 12:01:35,777 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35" (1/1) ... [2022-04-15 12:01:35,782 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35" (1/1) ... [2022-04-15 12:01:35,783 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35" (1/1) ... [2022-04-15 12:01:35,784 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 12:01:35,785 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 12:01:35,785 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 12:01:35,785 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 12:01:35,792 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35" (1/1) ... [2022-04-15 12:01:35,797 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 12:01:35,805 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:35,815 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-15 12:01:35,820 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-15 12:01:35,847 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 12:01:35,848 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 12:01:35,848 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 12:01:35,848 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 12:01:35,848 INFO L138 BoogieDeclarations]: Found implementation of procedure SelectionSort [2022-04-15 12:01:35,848 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 12:01:35,848 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 12:01:35,848 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 12:01:35,848 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_perror_fail [2022-04-15 12:01:35,848 INFO L130 BoogieDeclarations]: Found specification of procedure __assert [2022-04-15 12:01:35,848 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 12:01:35,848 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 12:01:35,849 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 12:01:35,849 INFO L130 BoogieDeclarations]: Found specification of procedure SelectionSort [2022-04-15 12:01:35,849 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 12:01:35,849 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 12:01:35,849 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 12:01:35,849 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-15 12:01:35,849 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 12:01:35,849 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 12:01:35,849 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 12:01:35,849 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 12:01:35,903 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 12:01:35,904 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 12:01:36,134 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 12:01:36,141 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 12:01:36,141 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-04-15 12:01:36,142 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 12:01:36 BoogieIcfgContainer [2022-04-15 12:01:36,143 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 12:01:36,145 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 12:01:36,145 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 12:01:36,148 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 12:01:36,148 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 12:01:35" (1/3) ... [2022-04-15 12:01:36,149 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@17228d96 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 12:01:36, skipping insertion in model container [2022-04-15 12:01:36,149 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 12:01:35" (2/3) ... [2022-04-15 12:01:36,149 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@17228d96 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 12:01:36, skipping insertion in model container [2022-04-15 12:01:36,149 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 12:01:36" (3/3) ... [2022-04-15 12:01:36,150 INFO L111 eAbstractionObserver]: Analyzing ICFG eureka_05.i [2022-04-15 12:01:36,154 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 12:01:36,154 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 12:01:36,191 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 12:01:36,196 INFO L340 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 [2022-04-15 12:01:36,197 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 12:01:36,216 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-15 12:01:36,223 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-15 12:01:36,224 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:36,224 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 12:01:36,225 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:36,229 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:36,229 INFO L85 PathProgramCache]: Analyzing trace with hash 1995632546, now seen corresponding path program 1 times [2022-04-15 12:01:36,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:36,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1512932339] [2022-04-15 12:01:36,246 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 12:01:36,246 INFO L85 PathProgramCache]: Analyzing trace with hash 1995632546, now seen corresponding path program 2 times [2022-04-15 12:01:36,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:36,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [736499003] [2022-04-15 12:01:36,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:36,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:36,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:36,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:36,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:36,449 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-15 12:01:36,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 12:01:36,450 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #95#return; {37#true} is VALID [2022-04-15 12:01:36,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-15 12:01:36,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:36,478 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-15 12:01:36,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume !(~lh~0 < ~n~0); {37#true} is VALID [2022-04-15 12:01:36,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 12:01:36,479 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {38#false} #91#return; {38#false} is VALID [2022-04-15 12:01:36,480 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-15 12:01:36,480 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-15 12:01:36,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 12:01:36,481 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #95#return; {37#true} is VALID [2022-04-15 12:01:36,481 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret10 := main(); {37#true} is VALID [2022-04-15 12:01:36,482 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-15 12:01:36,482 INFO L290 TraceCheckUtils]: 6: Hoare triple {37#true} assume !true; {38#false} is VALID [2022-04-15 12:01:36,482 INFO L272 TraceCheckUtils]: 7: Hoare triple {38#false} call SelectionSort(); {47#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:36,484 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-15 12:01:36,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {37#true} assume !(~lh~0 < ~n~0); {37#true} is VALID [2022-04-15 12:01:36,485 INFO L290 TraceCheckUtils]: 10: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 12:01:36,485 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {37#true} {38#false} #91#return; {38#false} is VALID [2022-04-15 12:01:36,485 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#false} ~i~1 := 0; {38#false} is VALID [2022-04-15 12:01:36,485 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-15 12:01:36,486 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-15 12:01:36,486 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-15 12:01:36,486 INFO L290 TraceCheckUtils]: 16: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-15 12:01:36,487 INFO L290 TraceCheckUtils]: 17: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-15 12:01:36,487 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-15 12:01:36,487 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:36,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [736499003] [2022-04-15 12:01:36,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [736499003] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:36,489 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:36,489 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 12:01:36,493 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:36,493 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1512932339] [2022-04-15 12:01:36,494 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1512932339] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:36,494 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:36,494 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 12:01:36,494 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2141267011] [2022-04-15 12:01:36,494 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:36,499 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-15 12:01:36,501 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:36,503 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-15 12:01:36,526 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-15 12:01:36,526 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-15 12:01:36,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:36,546 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-15 12:01:36,547 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-15 12:01:36,549 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-15 12:01:36,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:36,860 INFO L93 Difference]: Finished difference Result 77 states and 109 transitions. [2022-04-15 12:01:36,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 12:01:36,860 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-15 12:01:36,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:36,862 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-15 12:01:36,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2022-04-15 12:01:36,876 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-15 12:01:36,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 109 transitions. [2022-04-15 12:01:36,884 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 109 transitions. [2022-04-15 12:01:36,994 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-15 12:01:37,006 INFO L225 Difference]: With dead ends: 77 [2022-04-15 12:01:37,006 INFO L226 Difference]: Without dead ends: 43 [2022-04-15 12:01:37,010 INFO L912 BasicCegarLoop]: 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-15 12:01:37,015 INFO L913 BasicCegarLoop]: 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-15 12:01:37,017 INFO L914 BasicCegarLoop]: 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-15 12:01:37,034 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-15 12:01:37,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 29. [2022-04-15 12:01:37,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:37,060 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-15 12:01:37,061 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-15 12:01:37,061 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-15 12:01:37,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:37,069 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-15 12:01:37,069 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-15 12:01:37,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:37,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:37,070 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-15 12:01:37,071 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-15 12:01:37,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:37,078 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-15 12:01:37,080 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-15 12:01:37,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:37,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:37,085 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:37,085 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:37,086 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-15 12:01:37,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2022-04-15 12:01:37,090 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 18 [2022-04-15 12:01:37,090 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:37,090 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2022-04-15 12:01:37,091 INFO L479 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-15 12:01:37,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 33 transitions. [2022-04-15 12:01:37,128 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-15 12:01:37,129 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2022-04-15 12:01:37,129 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-15 12:01:37,129 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:37,130 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 12:01:37,130 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 12:01:37,130 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:37,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:37,131 INFO L85 PathProgramCache]: Analyzing trace with hash 1221136232, now seen corresponding path program 1 times [2022-04-15 12:01:37,131 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:37,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1156628835] [2022-04-15 12:01:37,134 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 12:01:37,134 INFO L85 PathProgramCache]: Analyzing trace with hash 1221136232, now seen corresponding path program 2 times [2022-04-15 12:01:37,134 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:37,135 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1010370961] [2022-04-15 12:01:37,135 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:37,135 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:37,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:37,210 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:37,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:37,231 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-15 12:01:37,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-15 12:01:37,232 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {351#true} {351#true} #95#return; {351#true} is VALID [2022-04-15 12:01:37,236 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 7 [2022-04-15 12:01:37,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:37,259 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-15 12:01:37,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#true} assume !(~lh~0 < ~n~0); {351#true} is VALID [2022-04-15 12:01:37,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-15 12:01:37,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {351#true} {352#false} #91#return; {352#false} is VALID [2022-04-15 12:01:37,262 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-15 12:01:37,262 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-15 12:01:37,262 INFO L290 TraceCheckUtils]: 2: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-15 12:01:37,262 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {351#true} {351#true} #95#return; {351#true} is VALID [2022-04-15 12:01:37,262 INFO L272 TraceCheckUtils]: 4: Hoare triple {351#true} call #t~ret10 := main(); {351#true} is VALID [2022-04-15 12:01:37,263 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-15 12:01:37,264 INFO L290 TraceCheckUtils]: 6: Hoare triple {356#(<= 4 main_~i~1)} assume !(~i~1 >= 0); {352#false} is VALID [2022-04-15 12:01:37,264 INFO L272 TraceCheckUtils]: 7: Hoare triple {352#false} call SelectionSort(); {362#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:37,264 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-15 12:01:37,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {351#true} assume !(~lh~0 < ~n~0); {351#true} is VALID [2022-04-15 12:01:37,265 INFO L290 TraceCheckUtils]: 10: Hoare triple {351#true} assume true; {351#true} is VALID [2022-04-15 12:01:37,265 INFO L284 TraceCheckUtils]: 11: Hoare quadruple {351#true} {352#false} #91#return; {352#false} is VALID [2022-04-15 12:01:37,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {352#false} ~i~1 := 0; {352#false} is VALID [2022-04-15 12:01:37,265 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-15 12:01:37,265 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-15 12:01:37,266 INFO L290 TraceCheckUtils]: 15: Hoare triple {352#false} ~cond := #in~cond; {352#false} is VALID [2022-04-15 12:01:37,266 INFO L290 TraceCheckUtils]: 16: Hoare triple {352#false} assume 0 == ~cond; {352#false} is VALID [2022-04-15 12:01:37,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {352#false} assume !false; {352#false} is VALID [2022-04-15 12:01:37,266 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-15 12:01:37,267 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:37,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1010370961] [2022-04-15 12:01:37,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1010370961] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:37,267 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:37,267 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 12:01:37,267 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:37,268 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1156628835] [2022-04-15 12:01:37,268 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1156628835] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:37,268 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:37,268 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 12:01:37,268 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1692656915] [2022-04-15 12:01:37,268 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:37,269 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-15 12:01:37,270 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:37,270 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-15 12:01:37,285 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-15 12:01:37,285 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 12:01:37,285 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:37,286 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 12:01:37,286 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 12:01:37,286 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-15 12:01:37,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:37,579 INFO L93 Difference]: Finished difference Result 59 states and 70 transitions. [2022-04-15 12:01:37,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 12:01:37,580 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-15 12:01:37,580 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:37,580 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-15 12:01:37,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-15 12:01:37,583 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-15 12:01:37,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-15 12:01:37,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-04-15 12:01:37,653 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-15 12:01:37,655 INFO L225 Difference]: With dead ends: 59 [2022-04-15 12:01:37,655 INFO L226 Difference]: Without dead ends: 38 [2022-04-15 12:01:37,655 INFO L912 BasicCegarLoop]: 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-15 12:01:37,658 INFO L913 BasicCegarLoop]: 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-15 12:01:37,659 INFO L914 BasicCegarLoop]: 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-15 12:01:37,661 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-15 12:01:37,670 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 30. [2022-04-15 12:01:37,670 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:37,671 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-15 12:01:37,673 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-15 12:01:37,674 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-15 12:01:37,682 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:37,682 INFO L93 Difference]: Finished difference Result 38 states and 45 transitions. [2022-04-15 12:01:37,682 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2022-04-15 12:01:37,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:37,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:37,696 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-15 12:01:37,696 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-15 12:01:37,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:37,697 INFO L93 Difference]: Finished difference Result 38 states and 45 transitions. [2022-04-15 12:01:37,697 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 45 transitions. [2022-04-15 12:01:37,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:37,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:37,698 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:37,698 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:37,698 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-15 12:01:37,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 34 transitions. [2022-04-15 12:01:37,699 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 34 transitions. Word has length 18 [2022-04-15 12:01:37,699 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:37,699 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 34 transitions. [2022-04-15 12:01:37,699 INFO L479 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-15 12:01:37,699 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 34 transitions. [2022-04-15 12:01:37,740 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-15 12:01:37,740 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2022-04-15 12:01:37,743 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-15 12:01:37,746 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:37,746 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 12:01:37,746 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 12:01:37,746 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:37,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:37,747 INFO L85 PathProgramCache]: Analyzing trace with hash -957735862, now seen corresponding path program 1 times [2022-04-15 12:01:37,747 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:37,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1768054275] [2022-04-15 12:01:37,753 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:37,753 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:37,754 INFO L85 PathProgramCache]: Analyzing trace with hash -957735862, now seen corresponding path program 2 times [2022-04-15 12:01:37,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:37,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [329911916] [2022-04-15 12:01:37,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:37,754 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:37,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:37,818 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:37,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:37,838 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-15 12:01:37,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-15 12:01:37,838 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {626#true} {626#true} #95#return; {626#true} is VALID [2022-04-15 12:01:37,842 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-15 12:01:37,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:37,851 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-15 12:01:37,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {626#true} assume !(~lh~0 < ~n~0); {626#true} is VALID [2022-04-15 12:01:37,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-15 12:01:37,875 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {626#true} {627#false} #91#return; {627#false} is VALID [2022-04-15 12:01:37,877 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-15 12:01:37,877 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-15 12:01:37,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-15 12:01:37,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {626#true} {626#true} #95#return; {626#true} is VALID [2022-04-15 12:01:37,877 INFO L272 TraceCheckUtils]: 4: Hoare triple {626#true} call #t~ret10 := main(); {626#true} is VALID [2022-04-15 12:01:37,878 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-15 12:01:37,878 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-15 12:01:37,879 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-15 12:01:37,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {632#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {627#false} is VALID [2022-04-15 12:01:37,880 INFO L272 TraceCheckUtils]: 9: Hoare triple {627#false} call SelectionSort(); {638#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:37,880 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-15 12:01:37,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {626#true} assume !(~lh~0 < ~n~0); {626#true} is VALID [2022-04-15 12:01:37,881 INFO L290 TraceCheckUtils]: 12: Hoare triple {626#true} assume true; {626#true} is VALID [2022-04-15 12:01:37,881 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {626#true} {627#false} #91#return; {627#false} is VALID [2022-04-15 12:01:37,881 INFO L290 TraceCheckUtils]: 14: Hoare triple {627#false} ~i~1 := 0; {627#false} is VALID [2022-04-15 12:01:37,881 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-15 12:01:37,895 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-15 12:01:37,895 INFO L290 TraceCheckUtils]: 17: Hoare triple {627#false} ~cond := #in~cond; {627#false} is VALID [2022-04-15 12:01:37,896 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#false} assume 0 == ~cond; {627#false} is VALID [2022-04-15 12:01:37,896 INFO L290 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2022-04-15 12:01:37,896 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-15 12:01:37,896 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:37,896 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [329911916] [2022-04-15 12:01:37,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [329911916] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:37,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1153387768] [2022-04-15 12:01:37,897 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:01:37,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:37,897 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:37,911 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-15 12:01:37,919 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-15 12:01:37,982 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 12:01:37,982 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:37,984 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-15 12:01:38,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:38,013 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:38,139 INFO L272 TraceCheckUtils]: 0: Hoare triple {626#true} call ULTIMATE.init(); {626#true} is VALID [2022-04-15 12:01:38,141 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-15 12:01:38,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {645#(<= 5 ~n~0)} assume true; {645#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:38,142 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {645#(<= 5 ~n~0)} {626#true} #95#return; {645#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:38,145 INFO L272 TraceCheckUtils]: 4: Hoare triple {645#(<= 5 ~n~0)} call #t~ret10 := main(); {645#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:38,145 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-15 12:01:38,145 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-15 12:01:38,146 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-15 12:01:38,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {645#(<= 5 ~n~0)} assume !(~i~1 >= 0); {645#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:38,147 INFO L272 TraceCheckUtils]: 9: Hoare triple {645#(<= 5 ~n~0)} call SelectionSort(); {645#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:38,147 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-15 12:01:38,164 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-15 12:01:38,164 INFO L290 TraceCheckUtils]: 12: Hoare triple {627#false} assume true; {627#false} is VALID [2022-04-15 12:01:38,164 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {627#false} {645#(<= 5 ~n~0)} #91#return; {627#false} is VALID [2022-04-15 12:01:38,164 INFO L290 TraceCheckUtils]: 14: Hoare triple {627#false} ~i~1 := 0; {627#false} is VALID [2022-04-15 12:01:38,165 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-15 12:01:38,165 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-15 12:01:38,165 INFO L290 TraceCheckUtils]: 17: Hoare triple {627#false} ~cond := #in~cond; {627#false} is VALID [2022-04-15 12:01:38,165 INFO L290 TraceCheckUtils]: 18: Hoare triple {627#false} assume 0 == ~cond; {627#false} is VALID [2022-04-15 12:01:38,165 INFO L290 TraceCheckUtils]: 19: Hoare triple {627#false} assume !false; {627#false} is VALID [2022-04-15 12:01:38,166 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-15 12:01:38,166 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 12:01:38,166 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1153387768] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:38,166 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 12:01:38,166 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 8 [2022-04-15 12:01:38,167 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:38,167 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1768054275] [2022-04-15 12:01:38,167 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1768054275] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:38,167 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:38,167 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-15 12:01:38,167 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [473883256] [2022-04-15 12:01:38,167 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:38,168 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-15 12:01:38,168 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:38,168 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-15 12:01:38,190 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-15 12:01:38,190 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-15 12:01:38,190 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:38,190 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-15 12:01:38,191 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-04-15 12:01:38,191 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-15 12:01:38,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:38,312 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-15 12:01:38,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-15 12:01:38,313 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-15 12:01:38,313 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:38,313 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-15 12:01:38,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-04-15 12:01:38,317 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-15 12:01:38,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 55 transitions. [2022-04-15 12:01:38,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 55 transitions. [2022-04-15 12:01:38,358 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-15 12:01:38,362 INFO L225 Difference]: With dead ends: 49 [2022-04-15 12:01:38,362 INFO L226 Difference]: Without dead ends: 36 [2022-04-15 12:01:38,363 INFO L912 BasicCegarLoop]: 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-15 12:01:38,367 INFO L913 BasicCegarLoop]: 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-15 12:01:38,374 INFO L914 BasicCegarLoop]: 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-15 12:01:38,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-15 12:01:38,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 31. [2022-04-15 12:01:38,406 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:38,406 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-15 12:01:38,407 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-15 12:01:38,407 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-15 12:01:38,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:38,408 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-15 12:01:38,408 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-15 12:01:38,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:38,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:38,409 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-15 12:01:38,409 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-15 12:01:38,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:38,410 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-15 12:01:38,410 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-15 12:01:38,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:38,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:38,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:38,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:38,411 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-15 12:01:38,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 35 transitions. [2022-04-15 12:01:38,412 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 35 transitions. Word has length 20 [2022-04-15 12:01:38,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:38,412 INFO L478 AbstractCegarLoop]: Abstraction has 31 states and 35 transitions. [2022-04-15 12:01:38,412 INFO L479 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-15 12:01:38,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 35 transitions. [2022-04-15 12:01:38,450 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-15 12:01:38,450 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2022-04-15 12:01:38,451 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-15 12:01:38,451 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:38,451 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 12:01:38,498 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-15 12:01:38,673 WARN L460 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-15 12:01:38,673 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:38,674 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:38,674 INFO L85 PathProgramCache]: Analyzing trace with hash -1438458526, now seen corresponding path program 1 times [2022-04-15 12:01:38,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:38,674 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1568625743] [2022-04-15 12:01:38,679 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:38,680 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:38,680 INFO L85 PathProgramCache]: Analyzing trace with hash -1438458526, now seen corresponding path program 2 times [2022-04-15 12:01:38,680 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:38,680 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [719572301] [2022-04-15 12:01:38,680 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:38,680 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:38,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:38,718 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:38,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:38,729 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-15 12:01:38,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 12:01:38,730 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-15 12:01:38,733 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-15 12:01:38,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:38,742 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-15 12:01:38,742 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-15 12:01:38,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-15 12:01:38,742 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-15 12:01:38,743 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-15 12:01:38,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-15 12:01:38,743 INFO L290 TraceCheckUtils]: 6: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 12:01:38,743 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-15 12:01:38,744 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-15 12:01:38,744 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-15 12:01:38,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 12:01:38,744 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-15 12:01:38,744 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-15 12:01:38,745 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-15 12:01:38,745 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-15 12:01:38,746 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-15 12:01:38,746 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-15 12:01:38,747 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {948#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:38,747 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-15 12:01:38,747 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-15 12:01:38,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-15 12:01:38,747 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-15 12:01:38,747 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-15 12:01:38,747 INFO L290 TraceCheckUtils]: 15: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-15 12:01:38,748 INFO L290 TraceCheckUtils]: 16: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 12:01:38,748 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-15 12:01:38,748 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-15 12:01:38,748 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-15 12:01:38,748 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-15 12:01:38,748 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-15 12:01:38,748 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-15 12:01:38,749 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-15 12:01:38,749 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-15 12:01:38,749 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:38,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [719572301] [2022-04-15 12:01:38,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [719572301] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:38,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [148588704] [2022-04-15 12:01:38,749 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:01:38,750 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:38,750 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:38,751 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-15 12:01:38,773 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-15 12:01:38,842 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:01:38,842 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:38,843 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-15 12:01:38,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:38,854 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:38,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {932#true} is VALID [2022-04-15 12:01:38,942 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-15 12:01:38,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 12:01:38,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-15 12:01:38,943 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-15 12:01:38,949 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-15 12:01:38,950 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-15 12:01:38,951 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-15 12:01:38,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {938#(<= 3 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-15 12:01:38,952 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {933#false} is VALID [2022-04-15 12:01:38,952 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-15 12:01:38,952 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-15 12:01:38,952 INFO L290 TraceCheckUtils]: 12: Hoare triple {933#false} assume !(~i~0 < ~n~0); {933#false} is VALID [2022-04-15 12:01:38,955 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-15 12:01:38,955 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-15 12:01:38,955 INFO L290 TraceCheckUtils]: 15: Hoare triple {933#false} assume !(~lh~0 < ~n~0); {933#false} is VALID [2022-04-15 12:01:38,955 INFO L290 TraceCheckUtils]: 16: Hoare triple {933#false} assume true; {933#false} is VALID [2022-04-15 12:01:38,955 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {933#false} {933#false} #91#return; {933#false} is VALID [2022-04-15 12:01:38,955 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-15 12:01:38,956 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-15 12:01:38,956 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-15 12:01:38,956 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-15 12:01:38,956 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-15 12:01:38,956 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-15 12:01:38,956 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-15 12:01:38,956 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:39,040 INFO L290 TraceCheckUtils]: 23: Hoare triple {933#false} assume !false; {933#false} is VALID [2022-04-15 12:01:39,040 INFO L290 TraceCheckUtils]: 22: Hoare triple {933#false} assume 0 == ~cond; {933#false} is VALID [2022-04-15 12:01:39,040 INFO L290 TraceCheckUtils]: 21: Hoare triple {933#false} ~cond := #in~cond; {933#false} is VALID [2022-04-15 12:01:39,041 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-15 12:01:39,041 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-15 12:01:39,041 INFO L290 TraceCheckUtils]: 18: Hoare triple {933#false} ~i~1 := 0; {933#false} is VALID [2022-04-15 12:01:39,041 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {932#true} {933#false} #91#return; {933#false} is VALID [2022-04-15 12:01:39,041 INFO L290 TraceCheckUtils]: 16: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 12:01:39,041 INFO L290 TraceCheckUtils]: 15: Hoare triple {932#true} assume !(~lh~0 < ~n~0); {932#true} is VALID [2022-04-15 12:01:39,042 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-15 12:01:39,042 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-15 12:01:39,042 INFO L290 TraceCheckUtils]: 12: Hoare triple {932#true} assume !(~i~0 < ~n~0); {932#true} is VALID [2022-04-15 12:01:39,042 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-15 12:01:39,042 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-15 12:01:39,042 INFO L272 TraceCheckUtils]: 9: Hoare triple {933#false} call SelectionSort(); {932#true} is VALID [2022-04-15 12:01:39,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {1066#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {933#false} is VALID [2022-04-15 12:01:39,043 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-15 12:01:39,044 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-15 12:01:39,044 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-15 12:01:39,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {932#true} call #t~ret10 := main(); {932#true} is VALID [2022-04-15 12:01:39,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {932#true} {932#true} #95#return; {932#true} is VALID [2022-04-15 12:01:39,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {932#true} assume true; {932#true} is VALID [2022-04-15 12:01:39,047 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-15 12:01:39,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {932#true} call ULTIMATE.init(); {932#true} is VALID [2022-04-15 12:01:39,048 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-15 12:01:39,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [148588704] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:01:39,048 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:01:39,048 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 4, 4] total 8 [2022-04-15 12:01:39,048 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:39,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1568625743] [2022-04-15 12:01:39,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1568625743] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:39,049 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:39,049 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 12:01:39,049 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [453573212] [2022-04-15 12:01:39,049 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:39,049 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-15 12:01:39,050 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:39,050 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-15 12:01:39,064 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-15 12:01:39,064 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 12:01:39,064 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:39,065 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 12:01:39,066 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2022-04-15 12:01:39,066 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-15 12:01:39,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:39,313 INFO L93 Difference]: Finished difference Result 60 states and 70 transitions. [2022-04-15 12:01:39,313 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 12:01:39,313 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-15 12:01:39,313 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:39,314 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-15 12:01:39,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-15 12:01:39,318 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-15 12:01:39,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-15 12:01:39,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2022-04-15 12:01:39,366 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-15 12:01:39,368 INFO L225 Difference]: With dead ends: 60 [2022-04-15 12:01:39,369 INFO L226 Difference]: Without dead ends: 38 [2022-04-15 12:01:39,369 INFO L912 BasicCegarLoop]: 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-15 12:01:39,370 INFO L913 BasicCegarLoop]: 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-15 12:01:39,371 INFO L914 BasicCegarLoop]: 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-15 12:01:39,372 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-15 12:01:39,397 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 33. [2022-04-15 12:01:39,397 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:39,398 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-15 12:01:39,398 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-15 12:01:39,398 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-15 12:01:39,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:39,402 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-04-15 12:01:39,402 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-15 12:01:39,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:39,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:39,404 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-15 12:01:39,404 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-15 12:01:39,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:39,411 INFO L93 Difference]: Finished difference Result 38 states and 44 transitions. [2022-04-15 12:01:39,411 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-15 12:01:39,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:39,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:39,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:39,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:39,412 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-15 12:01:39,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-15 12:01:39,413 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 24 [2022-04-15 12:01:39,413 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:39,413 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-15 12:01:39,413 INFO L479 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-15 12:01:39,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-15 12:01:39,491 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-15 12:01:39,492 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-15 12:01:39,492 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-15 12:01:39,492 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:39,492 INFO L499 BasicCegarLoop]: 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-15 12:01:39,523 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-15 12:01:39,699 WARN L460 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-15 12:01:39,700 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:39,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:39,700 INFO L85 PathProgramCache]: Analyzing trace with hash -911525692, now seen corresponding path program 3 times [2022-04-15 12:01:39,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:39,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [770978472] [2022-04-15 12:01:39,719 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:39,719 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:39,719 INFO L85 PathProgramCache]: Analyzing trace with hash -911525692, now seen corresponding path program 4 times [2022-04-15 12:01:39,719 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:39,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1232955257] [2022-04-15 12:01:39,719 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:39,720 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:39,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:39,775 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:39,778 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:39,784 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-15 12:01:39,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {1370#(<= 5 ~n~0)} assume true; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:39,786 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1370#(<= 5 ~n~0)} {1365#true} #95#return; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:39,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:01:39,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:39,818 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-15 12:01:39,818 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-15 12:01:39,819 INFO L290 TraceCheckUtils]: 2: Hoare triple {1382#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-15 12:01:39,819 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-15 12:01:39,820 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-15 12:01:39,820 INFO L290 TraceCheckUtils]: 5: Hoare triple {1383#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-15 12:01:39,820 INFO L290 TraceCheckUtils]: 6: Hoare triple {1383#(<= ~n~0 1)} assume true; {1383#(<= ~n~0 1)} is VALID [2022-04-15 12:01:39,821 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1383#(<= ~n~0 1)} {1370#(<= 5 ~n~0)} #91#return; {1366#false} is VALID [2022-04-15 12:01:39,822 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-15 12:01:39,822 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-15 12:01:39,823 INFO L290 TraceCheckUtils]: 2: Hoare triple {1370#(<= 5 ~n~0)} assume true; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:39,823 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1370#(<= 5 ~n~0)} {1365#true} #95#return; {1370#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:39,824 INFO L272 TraceCheckUtils]: 4: Hoare triple {1370#(<= 5 ~n~0)} call #t~ret10 := main(); {1370#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:39,824 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-15 12:01:39,824 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-15 12:01:39,825 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-15 12:01:39,827 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-15 12:01:39,828 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-15 12:01:39,828 INFO L290 TraceCheckUtils]: 10: Hoare triple {1370#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1370#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:39,829 INFO L272 TraceCheckUtils]: 11: Hoare triple {1370#(<= 5 ~n~0)} call SelectionSort(); {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:39,829 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-15 12:01:39,830 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-15 12:01:39,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {1382#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-15 12:01:39,830 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-15 12:01:39,831 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-15 12:01:39,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {1383#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {1383#(<= ~n~0 1)} is VALID [2022-04-15 12:01:39,831 INFO L290 TraceCheckUtils]: 18: Hoare triple {1383#(<= ~n~0 1)} assume true; {1383#(<= ~n~0 1)} is VALID [2022-04-15 12:01:39,832 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {1383#(<= ~n~0 1)} {1370#(<= 5 ~n~0)} #91#return; {1366#false} is VALID [2022-04-15 12:01:39,832 INFO L290 TraceCheckUtils]: 20: Hoare triple {1366#false} ~i~1 := 0; {1366#false} is VALID [2022-04-15 12:01:39,832 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-15 12:01:39,832 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-15 12:01:39,832 INFO L290 TraceCheckUtils]: 23: Hoare triple {1366#false} ~cond := #in~cond; {1366#false} is VALID [2022-04-15 12:01:39,833 INFO L290 TraceCheckUtils]: 24: Hoare triple {1366#false} assume 0 == ~cond; {1366#false} is VALID [2022-04-15 12:01:39,833 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-15 12:01:39,833 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-15 12:01:39,833 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:39,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1232955257] [2022-04-15 12:01:39,833 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1232955257] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:39,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [335608776] [2022-04-15 12:01:39,833 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:01:39,834 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:39,834 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:39,835 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-15 12:01:39,837 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-15 12:01:39,886 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:01:39,886 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:39,888 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 12:01:39,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:39,904 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:39,960 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-15 12:01:40,658 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-04-15 12:01:40,659 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-15 12:01:40,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1365#true} is VALID [2022-04-15 12:01:40,794 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-15 12:01:40,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {1365#true} assume true; {1365#true} is VALID [2022-04-15 12:01:40,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1365#true} {1365#true} #95#return; {1365#true} is VALID [2022-04-15 12:01:40,794 INFO L272 TraceCheckUtils]: 4: Hoare triple {1365#true} call #t~ret10 := main(); {1365#true} is VALID [2022-04-15 12:01:40,794 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-15 12:01:40,794 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-15 12:01:40,795 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-15 12:01:40,795 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-15 12:01:40,797 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-15 12:01:40,798 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-15 12:01:40,798 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-15 12:01:40,799 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-15 12:01:40,799 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-15 12:01:40,800 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-15 12:01:40,800 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-15 12:01:40,801 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-15 12:01:40,801 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-15 12:01:40,802 INFO L290 TraceCheckUtils]: 18: Hoare triple {1380#(= |#memory_int| |old(#memory_int)|)} assume true; {1380#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:40,803 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-15 12:01:40,803 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-15 12:01:40,805 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-15 12:01:40,806 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-15 12:01:40,823 INFO L290 TraceCheckUtils]: 23: Hoare triple {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1464#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:01:40,824 INFO L290 TraceCheckUtils]: 24: Hoare triple {1464#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1366#false} is VALID [2022-04-15 12:01:40,824 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-15 12:01:40,824 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-15 12:01:40,825 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:41,001 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-15 12:01:41,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {1366#false} assume !false; {1366#false} is VALID [2022-04-15 12:01:41,690 INFO L290 TraceCheckUtils]: 24: Hoare triple {1464#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1366#false} is VALID [2022-04-15 12:01:41,707 INFO L290 TraceCheckUtils]: 23: Hoare triple {1460#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1464#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:01:41,708 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-15 12:01:41,709 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-15 12:01:41,710 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-15 12:01:41,711 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-15 12:01:41,712 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-15 12:01:41,735 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-15 12:01:41,736 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-15 12:01:43,744 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-15 12:01:43,746 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-15 12:01:43,749 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-15 12:01:43,749 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-15 12:01:43,750 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-15 12:01:43,750 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-15 12:01:43,751 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-15 12:01:43,752 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-15 12:01:43,752 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-15 12:01:43,753 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-15 12:01:43,753 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-15 12:01:43,753 INFO L272 TraceCheckUtils]: 4: Hoare triple {1365#true} call #t~ret10 := main(); {1365#true} is VALID [2022-04-15 12:01:43,753 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1365#true} {1365#true} #95#return; {1365#true} is VALID [2022-04-15 12:01:43,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {1365#true} assume true; {1365#true} is VALID [2022-04-15 12:01:43,753 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-15 12:01:43,753 INFO L272 TraceCheckUtils]: 0: Hoare triple {1365#true} call ULTIMATE.init(); {1365#true} is VALID [2022-04-15 12:01:43,754 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-15 12:01:43,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [335608776] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:43,754 INFO L184 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:01:43,754 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [7, 12] total 24 [2022-04-15 12:01:43,754 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:43,754 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [770978472] [2022-04-15 12:01:43,754 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [770978472] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:43,755 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:43,755 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 12:01:43,755 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1377275590] [2022-04-15 12:01:43,755 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:43,755 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-15 12:01:43,755 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:43,756 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-15 12:01:45,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 12:01:45,261 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 12:01:45,261 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:45,262 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 12:01:45,262 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=476, Unknown=0, NotChecked=0, Total=552 [2022-04-15 12:01:45,262 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-15 12:01:45,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:45,636 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-15 12:01:45,636 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 12:01:45,637 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-15 12:01:45,637 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:45,637 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-15 12:01:45,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-04-15 12:01:45,638 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-15 12:01:45,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 63 transitions. [2022-04-15 12:01:45,640 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 63 transitions. [2022-04-15 12:01:45,702 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 12:01:45,703 INFO L225 Difference]: With dead ends: 58 [2022-04-15 12:01:45,704 INFO L226 Difference]: Without dead ends: 56 [2022-04-15 12:01:45,704 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 63 GetRequests, 33 SyntacticMatches, 4 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=106, Invalid=650, Unknown=0, NotChecked=0, Total=756 [2022-04-15 12:01:45,704 INFO L913 BasicCegarLoop]: 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-15 12:01:45,705 INFO L914 BasicCegarLoop]: 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-15 12:01:45,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-15 12:01:45,762 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 46. [2022-04-15 12:01:45,762 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:45,763 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-15 12:01:45,764 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-15 12:01:45,764 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-15 12:01:45,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:45,766 INFO L93 Difference]: Finished difference Result 56 states and 64 transitions. [2022-04-15 12:01:45,766 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-15 12:01:45,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:45,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:45,770 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-15 12:01:45,770 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-15 12:01:45,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:45,773 INFO L93 Difference]: Finished difference Result 56 states and 64 transitions. [2022-04-15 12:01:45,773 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 64 transitions. [2022-04-15 12:01:45,773 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:45,773 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:45,773 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:45,773 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:45,774 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-15 12:01:45,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 52 transitions. [2022-04-15 12:01:45,775 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 52 transitions. Word has length 26 [2022-04-15 12:01:45,776 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:45,776 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 52 transitions. [2022-04-15 12:01:45,777 INFO L479 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-15 12:01:45,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 52 transitions. [2022-04-15 12:01:45,847 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-15 12:01:45,847 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 52 transitions. [2022-04-15 12:01:45,847 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-15 12:01:45,847 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:45,848 INFO L499 BasicCegarLoop]: 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-15 12:01:45,865 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-15 12:01:46,063 WARN L460 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-15 12:01:46,063 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:46,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:46,064 INFO L85 PathProgramCache]: Analyzing trace with hash -588044416, now seen corresponding path program 1 times [2022-04-15 12:01:46,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:46,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [873873808] [2022-04-15 12:01:46,068 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:46,068 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:46,068 INFO L85 PathProgramCache]: Analyzing trace with hash -588044416, now seen corresponding path program 2 times [2022-04-15 12:01:46,068 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:46,068 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1781289430] [2022-04-15 12:01:46,068 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:46,068 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:46,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:46,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:46,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:46,152 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-15 12:01:46,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,153 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,156 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:01:46,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:46,195 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-15 12:01:46,195 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-15 12:01:46,195 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-15 12:01:46,196 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-15 12:01:46,196 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-15 12:01:46,196 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-15 12:01:46,197 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-15 12:01:46,197 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-15 12:01:46,198 INFO L290 TraceCheckUtils]: 8: Hoare triple {1903#(<= SelectionSort_~lh~0 1)} assume !(~lh~0 < ~n~0); {1904#(<= ~n~0 1)} is VALID [2022-04-15 12:01:46,198 INFO L290 TraceCheckUtils]: 9: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-15 12:01:46,198 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1904#(<= ~n~0 1)} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-15 12:01:46,201 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-15 12:01:46,202 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-15 12:01:46,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,203 INFO L272 TraceCheckUtils]: 4: Hoare triple {1888#(<= 5 ~n~0)} call #t~ret10 := main(); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,203 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-15 12:01:46,203 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-15 12:01:46,203 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-15 12:01:46,204 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-15 12:01:46,204 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-15 12:01:46,204 INFO L290 TraceCheckUtils]: 10: Hoare triple {1888#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,205 INFO L272 TraceCheckUtils]: 11: Hoare triple {1888#(<= 5 ~n~0)} call SelectionSort(); {1901#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:46,205 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-15 12:01:46,206 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-15 12:01:46,206 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-15 12:01:46,206 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-15 12:01:46,206 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-15 12:01:46,207 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-15 12:01:46,207 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-15 12:01:46,208 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-15 12:01:46,208 INFO L290 TraceCheckUtils]: 20: Hoare triple {1903#(<= SelectionSort_~lh~0 1)} assume !(~lh~0 < ~n~0); {1904#(<= ~n~0 1)} is VALID [2022-04-15 12:01:46,208 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-15 12:01:46,209 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1904#(<= ~n~0 1)} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-15 12:01:46,209 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-15 12:01:46,209 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-15 12:01:46,210 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-15 12:01:46,210 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-15 12:01:46,210 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-15 12:01:46,210 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-15 12:01:46,210 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-15 12:01:46,210 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:46,210 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1781289430] [2022-04-15 12:01:46,210 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1781289430] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:46,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [293216565] [2022-04-15 12:01:46,211 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:01:46,211 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:46,211 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:46,224 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-15 12:01:46,243 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-15 12:01:46,273 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:01:46,273 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:46,274 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 12:01:46,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:46,285 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:46,413 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1883#true} is VALID [2022-04-15 12:01:46,414 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-15 12:01:46,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {1888#(<= 5 ~n~0)} assume true; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1888#(<= 5 ~n~0)} {1883#true} #95#return; {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,415 INFO L272 TraceCheckUtils]: 4: Hoare triple {1888#(<= 5 ~n~0)} call #t~ret10 := main(); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,415 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-15 12:01:46,415 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-15 12:01:46,416 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-15 12:01:46,416 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-15 12:01:46,416 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-15 12:01:46,417 INFO L290 TraceCheckUtils]: 10: Hoare triple {1888#(<= 5 ~n~0)} assume !(~i~1 >= 0); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,417 INFO L272 TraceCheckUtils]: 11: Hoare triple {1888#(<= 5 ~n~0)} call SelectionSort(); {1888#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:46,417 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-15 12:01:46,418 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-15 12:01:46,418 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-15 12:01:46,419 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-15 12:01:46,420 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-15 12:01:46,420 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-15 12:01:46,420 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-15 12:01:46,421 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-15 12:01:46,421 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-15 12:01:46,422 INFO L290 TraceCheckUtils]: 21: Hoare triple {1884#false} assume true; {1884#false} is VALID [2022-04-15 12:01:46,422 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1884#false} {1888#(<= 5 ~n~0)} #91#return; {1884#false} is VALID [2022-04-15 12:01:46,422 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-15 12:01:46,422 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-15 12:01:46,422 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-15 12:01:46,422 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-15 12:01:46,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-15 12:01:46,422 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-15 12:01:46,422 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-15 12:01:46,423 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:46,701 INFO L290 TraceCheckUtils]: 28: Hoare triple {1884#false} assume !false; {1884#false} is VALID [2022-04-15 12:01:46,701 INFO L290 TraceCheckUtils]: 27: Hoare triple {1884#false} assume 0 == ~cond; {1884#false} is VALID [2022-04-15 12:01:46,701 INFO L290 TraceCheckUtils]: 26: Hoare triple {1884#false} ~cond := #in~cond; {1884#false} is VALID [2022-04-15 12:01:46,702 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-15 12:01:46,702 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-15 12:01:46,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {1884#false} ~i~1 := 0; {1884#false} is VALID [2022-04-15 12:01:46,702 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1904#(<= ~n~0 1)} {2012#(< 1 ~n~0)} #91#return; {1884#false} is VALID [2022-04-15 12:01:46,703 INFO L290 TraceCheckUtils]: 21: Hoare triple {1904#(<= ~n~0 1)} assume true; {1904#(<= ~n~0 1)} is VALID [2022-04-15 12:01:46,703 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-15 12:01:46,704 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-15 12:01:46,704 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-15 12:01:46,704 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-15 12:01:46,705 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-15 12:01:46,705 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-15 12:01:46,705 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-15 12:01:46,705 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-15 12:01:46,706 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-15 12:01:46,706 INFO L272 TraceCheckUtils]: 11: Hoare triple {2012#(< 1 ~n~0)} call SelectionSort(); {1883#true} is VALID [2022-04-15 12:01:46,706 INFO L290 TraceCheckUtils]: 10: Hoare triple {2012#(< 1 ~n~0)} assume !(~i~1 >= 0); {2012#(< 1 ~n~0)} is VALID [2022-04-15 12:01:46,707 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-15 12:01:46,707 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-15 12:01:46,707 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-15 12:01:46,707 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-15 12:01:46,708 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-15 12:01:46,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {2012#(< 1 ~n~0)} call #t~ret10 := main(); {2012#(< 1 ~n~0)} is VALID [2022-04-15 12:01:46,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2012#(< 1 ~n~0)} {1883#true} #95#return; {2012#(< 1 ~n~0)} is VALID [2022-04-15 12:01:46,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {2012#(< 1 ~n~0)} assume true; {2012#(< 1 ~n~0)} is VALID [2022-04-15 12:01:46,710 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-15 12:01:46,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {1883#true} call ULTIMATE.init(); {1883#true} is VALID [2022-04-15 12:01:46,710 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-15 12:01:46,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [293216565] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:01:46,711 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:01:46,711 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 6] total 13 [2022-04-15 12:01:46,711 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:46,711 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [873873808] [2022-04-15 12:01:46,711 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [873873808] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:46,711 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:46,711 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 12:01:46,712 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [844696053] [2022-04-15 12:01:46,712 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:46,712 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-15 12:01:46,712 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:46,712 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-15 12:01:46,730 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-15 12:01:46,730 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 12:01:46,730 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:46,731 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 12:01:46,731 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=113, Unknown=0, NotChecked=0, Total=156 [2022-04-15 12:01:46,731 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-15 12:01:47,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:47,194 INFO L93 Difference]: Finished difference Result 86 states and 100 transitions. [2022-04-15 12:01:47,194 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 12:01:47,195 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-15 12:01:47,195 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:47,195 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-15 12:01:47,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2022-04-15 12:01:47,196 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-15 12:01:47,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 64 transitions. [2022-04-15 12:01:47,198 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 64 transitions. [2022-04-15 12:01:47,255 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-15 12:01:47,258 INFO L225 Difference]: With dead ends: 86 [2022-04-15 12:01:47,258 INFO L226 Difference]: Without dead ends: 64 [2022-04-15 12:01:47,258 INFO L912 BasicCegarLoop]: 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-15 12:01:47,259 INFO L913 BasicCegarLoop]: 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-15 12:01:47,259 INFO L914 BasicCegarLoop]: 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-15 12:01:47,259 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-15 12:01:47,329 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 56. [2022-04-15 12:01:47,329 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:47,329 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-15 12:01:47,330 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-15 12:01:47,330 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-15 12:01:47,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:47,333 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-15 12:01:47,333 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-15 12:01:47,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:47,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:47,333 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-15 12:01:47,334 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-15 12:01:47,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:47,338 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-15 12:01:47,338 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-15 12:01:47,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:47,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:47,339 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:47,339 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:47,339 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-15 12:01:47,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 65 transitions. [2022-04-15 12:01:47,341 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 65 transitions. Word has length 29 [2022-04-15 12:01:47,341 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:47,341 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 65 transitions. [2022-04-15 12:01:47,342 INFO L479 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-15 12:01:47,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 65 transitions. [2022-04-15 12:01:51,496 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 63 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 12:01:51,496 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 65 transitions. [2022-04-15 12:01:51,497 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 12:01:51,497 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:51,497 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 12:01:51,548 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-15 12:01:51,711 WARN L460 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-15 12:01:51,711 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:51,712 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:51,712 INFO L85 PathProgramCache]: Analyzing trace with hash -1608016792, now seen corresponding path program 3 times [2022-04-15 12:01:51,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:51,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [739957562] [2022-04-15 12:01:51,716 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:51,716 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:51,716 INFO L85 PathProgramCache]: Analyzing trace with hash -1608016792, now seen corresponding path program 4 times [2022-04-15 12:01:51,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:51,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [29936019] [2022-04-15 12:01:51,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:51,717 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:51,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:51,766 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:51,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:51,777 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-15 12:01:51,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {2514#(<= 5 ~n~0)} assume true; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:51,779 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2514#(<= 5 ~n~0)} {2509#true} #95#return; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:51,782 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:01:51,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:51,833 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-15 12:01:51,834 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-15 12:01:51,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {2533#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 12:01:51,834 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-15 12:01:51,835 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-15 12:01:51,835 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-15 12:01:51,836 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-15 12:01:51,836 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-15 12:01:51,837 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-15 12:01:51,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {2534#(<= ~n~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 12:01:51,837 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-15 12:01:51,838 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-15 12:01:51,838 INFO L290 TraceCheckUtils]: 12: Hoare triple {2534#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 12:01:51,838 INFO L290 TraceCheckUtils]: 13: Hoare triple {2534#(<= ~n~0 1)} assume true; {2534#(<= ~n~0 1)} is VALID [2022-04-15 12:01:51,840 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {2534#(<= ~n~0 1)} {2514#(<= 5 ~n~0)} #91#return; {2510#false} is VALID [2022-04-15 12:01:51,840 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-15 12:01:51,841 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-15 12:01:51,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {2514#(<= 5 ~n~0)} assume true; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:51,842 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2514#(<= 5 ~n~0)} {2509#true} #95#return; {2514#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:51,842 INFO L272 TraceCheckUtils]: 4: Hoare triple {2514#(<= 5 ~n~0)} call #t~ret10 := main(); {2514#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:51,842 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-15 12:01:51,843 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-15 12:01:51,843 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-15 12:01:51,843 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-15 12:01:51,843 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-15 12:01:51,844 INFO L290 TraceCheckUtils]: 10: Hoare triple {2514#(<= 5 ~n~0)} assume !(~i~1 >= 0); {2514#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:51,844 INFO L272 TraceCheckUtils]: 11: Hoare triple {2514#(<= 5 ~n~0)} call SelectionSort(); {2531#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:51,844 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-15 12:01:51,845 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-15 12:01:51,845 INFO L290 TraceCheckUtils]: 14: Hoare triple {2533#(<= SelectionSort_~i~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 12:01:51,845 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-15 12:01:51,846 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-15 12:01:51,846 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-15 12:01:51,846 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-15 12:01:51,846 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-15 12:01:51,847 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-15 12:01:51,847 INFO L290 TraceCheckUtils]: 21: Hoare triple {2534#(<= ~n~0 1)} assume !(~i~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 12:01:51,847 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-15 12:01:51,847 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-15 12:01:51,848 INFO L290 TraceCheckUtils]: 24: Hoare triple {2534#(<= ~n~0 1)} assume !(~lh~0 < ~n~0); {2534#(<= ~n~0 1)} is VALID [2022-04-15 12:01:51,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {2534#(<= ~n~0 1)} assume true; {2534#(<= ~n~0 1)} is VALID [2022-04-15 12:01:51,848 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2534#(<= ~n~0 1)} {2514#(<= 5 ~n~0)} #91#return; {2510#false} is VALID [2022-04-15 12:01:51,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {2510#false} ~i~1 := 0; {2510#false} is VALID [2022-04-15 12:01:51,849 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-15 12:01:51,849 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-15 12:01:51,849 INFO L290 TraceCheckUtils]: 30: Hoare triple {2510#false} ~cond := #in~cond; {2510#false} is VALID [2022-04-15 12:01:51,849 INFO L290 TraceCheckUtils]: 31: Hoare triple {2510#false} assume 0 == ~cond; {2510#false} is VALID [2022-04-15 12:01:51,849 INFO L290 TraceCheckUtils]: 32: Hoare triple {2510#false} assume !false; {2510#false} is VALID [2022-04-15 12:01:51,849 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-15 12:01:51,849 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:51,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [29936019] [2022-04-15 12:01:51,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [29936019] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:51,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1352216750] [2022-04-15 12:01:51,850 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:01:51,850 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:51,850 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:51,851 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-15 12:01:51,852 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-15 12:01:51,892 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:01:51,892 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:51,893 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 12:01:51,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:51,901 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:52,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {2509#true} call ULTIMATE.init(); {2509#true} is VALID [2022-04-15 12:01:52,025 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-15 12:01:52,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {2509#true} assume true; {2509#true} is VALID [2022-04-15 12:01:52,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2509#true} {2509#true} #95#return; {2509#true} is VALID [2022-04-15 12:01:52,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {2509#true} call #t~ret10 := main(); {2509#true} is VALID [2022-04-15 12:01:52,025 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-15 12:01:52,025 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-15 12:01:52,025 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-15 12:01:52,025 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-15 12:01:52,025 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-15 12:01:52,025 INFO L290 TraceCheckUtils]: 10: Hoare triple {2509#true} assume !(~i~1 >= 0); {2509#true} is VALID [2022-04-15 12:01:52,026 INFO L272 TraceCheckUtils]: 11: Hoare triple {2509#true} call SelectionSort(); {2509#true} is VALID [2022-04-15 12:01:52,026 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-15 12:01:52,026 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-15 12:01:52,026 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-15 12:01:52,027 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-15 12:01:52,027 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-15 12:01:52,028 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-15 12:01:52,028 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-15 12:01:52,028 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-15 12:01:52,028 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-15 12:01:52,028 INFO L290 TraceCheckUtils]: 21: Hoare triple {2510#false} assume !(~i~0 < ~n~0); {2510#false} is VALID [2022-04-15 12:01:52,028 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-15 12:01:52,028 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-15 12:01:52,028 INFO L290 TraceCheckUtils]: 24: Hoare triple {2510#false} assume !(~lh~0 < ~n~0); {2510#false} is VALID [2022-04-15 12:01:52,028 INFO L290 TraceCheckUtils]: 25: Hoare triple {2510#false} assume true; {2510#false} is VALID [2022-04-15 12:01:52,028 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2510#false} {2509#true} #91#return; {2510#false} is VALID [2022-04-15 12:01:52,028 INFO L290 TraceCheckUtils]: 27: Hoare triple {2510#false} ~i~1 := 0; {2510#false} is VALID [2022-04-15 12:01:52,028 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-15 12:01:52,029 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-15 12:01:52,029 INFO L290 TraceCheckUtils]: 30: Hoare triple {2510#false} ~cond := #in~cond; {2510#false} is VALID [2022-04-15 12:01:52,029 INFO L290 TraceCheckUtils]: 31: Hoare triple {2510#false} assume 0 == ~cond; {2510#false} is VALID [2022-04-15 12:01:52,029 INFO L290 TraceCheckUtils]: 32: Hoare triple {2510#false} assume !false; {2510#false} is VALID [2022-04-15 12:01:52,029 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-15 12:01:52,029 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 12:01:52,029 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1352216750] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:52,029 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 12:01:52,029 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 11 [2022-04-15 12:01:52,029 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:52,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [739957562] [2022-04-15 12:01:52,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [739957562] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:52,030 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:52,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 12:01:52,030 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [869076542] [2022-04-15 12:01:52,030 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:52,030 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-15 12:01:52,030 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:52,030 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-15 12:01:52,052 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-15 12:01:52,052 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 12:01:52,052 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:52,052 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 12:01:52,053 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=90, Unknown=0, NotChecked=0, Total=110 [2022-04-15 12:01:52,053 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-15 12:01:52,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:52,242 INFO L93 Difference]: Finished difference Result 85 states and 101 transitions. [2022-04-15 12:01:52,242 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 12:01:52,242 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-15 12:01:52,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:52,242 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-15 12:01:52,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-04-15 12:01:52,244 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-15 12:01:52,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 66 transitions. [2022-04-15 12:01:52,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 66 transitions. [2022-04-15 12:01:52,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-15 12:01:52,291 INFO L225 Difference]: With dead ends: 85 [2022-04-15 12:01:52,291 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 12:01:52,292 INFO L912 BasicCegarLoop]: 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-15 12:01:52,292 INFO L913 BasicCegarLoop]: 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-15 12:01:52,293 INFO L914 BasicCegarLoop]: 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-15 12:01:52,293 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 12:01:52,353 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 44. [2022-04-15 12:01:52,353 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:52,354 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-15 12:01:52,354 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-15 12:01:52,354 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-15 12:01:52,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:52,364 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-15 12:01:52,364 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-15 12:01:52,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:52,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:52,365 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-15 12:01:52,365 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-15 12:01:52,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:52,368 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-15 12:01:52,368 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-15 12:01:52,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:52,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:52,368 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:52,368 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:52,368 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-15 12:01:52,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 51 transitions. [2022-04-15 12:01:52,370 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 51 transitions. Word has length 33 [2022-04-15 12:01:52,370 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:52,370 INFO L478 AbstractCegarLoop]: Abstraction has 44 states and 51 transitions. [2022-04-15 12:01:52,372 INFO L479 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-15 12:01:52,372 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 51 transitions. [2022-04-15 12:01:52,445 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-15 12:01:52,445 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-04-15 12:01:52,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 12:01:52,445 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:52,446 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 12:01:52,468 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-15 12:01:52,646 WARN L460 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-15 12:01:52,646 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:52,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:52,647 INFO L85 PathProgramCache]: Analyzing trace with hash 835149208, now seen corresponding path program 5 times [2022-04-15 12:01:52,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:52,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2000312636] [2022-04-15 12:01:52,649 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:52,650 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:52,650 INFO L85 PathProgramCache]: Analyzing trace with hash 835149208, now seen corresponding path program 6 times [2022-04-15 12:01:52,650 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:52,650 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1441133754] [2022-04-15 12:01:52,650 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:52,650 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:52,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:52,681 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:52,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:52,688 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-15 12:01:52,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:52,688 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:52,691 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:01:52,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:52,729 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-15 12:01:52,730 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-15 12:01:52,730 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-15 12:01:52,730 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-15 12:01:52,730 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-15 12:01:52,731 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-15 12:01:52,731 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-15 12:01:52,733 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-15 12:01:52,734 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-15 12:01:52,734 INFO L290 TraceCheckUtils]: 9: Hoare triple {3023#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 12:01:52,734 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-15 12:01:52,735 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-15 12:01:52,735 INFO L290 TraceCheckUtils]: 12: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 12:01:52,735 INFO L290 TraceCheckUtils]: 13: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-15 12:01:52,736 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {3024#(<= ~n~0 2)} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-15 12:01:52,736 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-15 12:01:52,737 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-15 12:01:52,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:52,738 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:52,738 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(<= 5 ~n~0)} call #t~ret10 := main(); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:52,738 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-15 12:01:52,739 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-15 12:01:52,739 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-15 12:01:52,739 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-15 12:01:52,740 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-15 12:01:52,740 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:52,740 INFO L272 TraceCheckUtils]: 11: Hoare triple {3003#(<= 5 ~n~0)} call SelectionSort(); {3020#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:52,741 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-15 12:01:52,741 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-15 12:01:52,741 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-15 12:01:52,742 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-15 12:01:52,742 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-15 12:01:52,742 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-15 12:01:52,743 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-15 12:01:52,743 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-15 12:01:52,744 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-15 12:01:52,744 INFO L290 TraceCheckUtils]: 21: Hoare triple {3023#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 12:01:52,744 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-15 12:01:52,745 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-15 12:01:52,745 INFO L290 TraceCheckUtils]: 24: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 12:01:52,745 INFO L290 TraceCheckUtils]: 25: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-15 12:01:52,746 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3024#(<= ~n~0 2)} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-15 12:01:52,746 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-15 12:01:52,746 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-15 12:01:52,746 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-15 12:01:52,746 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-15 12:01:52,746 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-15 12:01:52,746 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-15 12:01:52,747 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-15 12:01:52,747 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:52,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1441133754] [2022-04-15 12:01:52,747 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1441133754] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:52,747 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [881252628] [2022-04-15 12:01:52,747 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:01:52,747 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:52,748 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:52,749 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-15 12:01:52,750 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-15 12:01:52,821 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 12:01:52,821 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:52,822 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 12:01:52,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:52,845 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:53,059 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {2998#true} is VALID [2022-04-15 12:01:53,060 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-15 12:01:53,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {3003#(<= 5 ~n~0)} assume true; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:53,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3003#(<= 5 ~n~0)} {2998#true} #95#return; {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:53,061 INFO L272 TraceCheckUtils]: 4: Hoare triple {3003#(<= 5 ~n~0)} call #t~ret10 := main(); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:53,061 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-15 12:01:53,062 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-15 12:01:53,062 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-15 12:01:53,062 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-15 12:01:53,062 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-15 12:01:53,063 INFO L290 TraceCheckUtils]: 10: Hoare triple {3003#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:53,063 INFO L272 TraceCheckUtils]: 11: Hoare triple {3003#(<= 5 ~n~0)} call SelectionSort(); {3003#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:53,063 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-15 12:01:53,064 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-15 12:01:53,064 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-15 12:01:53,065 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-15 12:01:53,065 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-15 12:01:53,065 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-15 12:01:53,066 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-15 12:01:53,066 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-15 12:01:53,067 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-15 12:01:53,067 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-15 12:01:53,067 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-15 12:01:53,067 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-15 12:01:53,068 INFO L290 TraceCheckUtils]: 24: Hoare triple {2999#false} assume !(~lh~0 < ~n~0); {2999#false} is VALID [2022-04-15 12:01:53,068 INFO L290 TraceCheckUtils]: 25: Hoare triple {2999#false} assume true; {2999#false} is VALID [2022-04-15 12:01:53,068 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2999#false} {3003#(<= 5 ~n~0)} #91#return; {2999#false} is VALID [2022-04-15 12:01:53,068 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-15 12:01:53,068 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-15 12:01:53,068 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-15 12:01:53,068 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-15 12:01:53,068 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-15 12:01:53,068 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-15 12:01:53,068 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-15 12:01:53,068 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:53,413 INFO L290 TraceCheckUtils]: 32: Hoare triple {2999#false} assume !false; {2999#false} is VALID [2022-04-15 12:01:53,413 INFO L290 TraceCheckUtils]: 31: Hoare triple {2999#false} assume 0 == ~cond; {2999#false} is VALID [2022-04-15 12:01:53,413 INFO L290 TraceCheckUtils]: 30: Hoare triple {2999#false} ~cond := #in~cond; {2999#false} is VALID [2022-04-15 12:01:53,413 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-15 12:01:53,414 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-15 12:01:53,414 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#false} ~i~1 := 0; {2999#false} is VALID [2022-04-15 12:01:53,414 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3024#(<= ~n~0 2)} {3145#(< 2 ~n~0)} #91#return; {2999#false} is VALID [2022-04-15 12:01:53,414 INFO L290 TraceCheckUtils]: 25: Hoare triple {3024#(<= ~n~0 2)} assume true; {3024#(<= ~n~0 2)} is VALID [2022-04-15 12:01:53,415 INFO L290 TraceCheckUtils]: 24: Hoare triple {3024#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3024#(<= ~n~0 2)} is VALID [2022-04-15 12:01:53,415 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-15 12:01:53,415 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-15 12:01:53,416 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-15 12:01:53,416 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-15 12:01:53,417 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-15 12:01:53,417 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-15 12:01:53,418 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-15 12:01:53,418 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-15 12:01:53,418 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-15 12:01:53,419 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-15 12:01:53,419 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-15 12:01:53,420 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-15 12:01:53,420 INFO L272 TraceCheckUtils]: 11: Hoare triple {3145#(< 2 ~n~0)} call SelectionSort(); {2998#true} is VALID [2022-04-15 12:01:53,420 INFO L290 TraceCheckUtils]: 10: Hoare triple {3145#(< 2 ~n~0)} assume !(~i~1 >= 0); {3145#(< 2 ~n~0)} is VALID [2022-04-15 12:01:53,420 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-15 12:01:53,420 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-15 12:01:53,421 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-15 12:01:53,421 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-15 12:01:53,421 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-15 12:01:53,422 INFO L272 TraceCheckUtils]: 4: Hoare triple {3145#(< 2 ~n~0)} call #t~ret10 := main(); {3145#(< 2 ~n~0)} is VALID [2022-04-15 12:01:53,422 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3145#(< 2 ~n~0)} {2998#true} #95#return; {3145#(< 2 ~n~0)} is VALID [2022-04-15 12:01:53,422 INFO L290 TraceCheckUtils]: 2: Hoare triple {3145#(< 2 ~n~0)} assume true; {3145#(< 2 ~n~0)} is VALID [2022-04-15 12:01:53,423 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-15 12:01:53,423 INFO L272 TraceCheckUtils]: 0: Hoare triple {2998#true} call ULTIMATE.init(); {2998#true} is VALID [2022-04-15 12:01:53,423 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-15 12:01:53,423 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [881252628] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:01:53,424 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:01:53,424 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 7] total 16 [2022-04-15 12:01:53,424 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:53,424 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2000312636] [2022-04-15 12:01:53,424 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2000312636] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:53,424 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:53,424 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 12:01:53,424 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1807305499] [2022-04-15 12:01:53,424 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:53,425 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-15 12:01:53,425 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:53,425 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-15 12:01:53,462 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-15 12:01:53,462 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 12:01:53,463 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:53,463 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 12:01:53,463 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-15 12:01:53,463 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-15 12:01:54,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:54,020 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2022-04-15 12:01:54,020 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 12:01:54,020 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-15 12:01:54,020 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:54,021 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-15 12:01:54,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-15 12:01:54,022 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-15 12:01:54,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 75 transitions. [2022-04-15 12:01:54,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 75 transitions. [2022-04-15 12:01:54,086 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-15 12:01:54,090 INFO L225 Difference]: With dead ends: 70 [2022-04-15 12:01:54,091 INFO L226 Difference]: Without dead ends: 54 [2022-04-15 12:01:54,091 INFO L912 BasicCegarLoop]: 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-15 12:01:54,092 INFO L913 BasicCegarLoop]: 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-15 12:01:54,092 INFO L914 BasicCegarLoop]: 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-15 12:01:54,092 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-15 12:01:54,153 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 45. [2022-04-15 12:01:54,153 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:54,154 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-15 12:01:54,154 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-15 12:01:54,154 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-15 12:01:54,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:54,156 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-04-15 12:01:54,156 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-15 12:01:54,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:54,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:54,156 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-15 12:01:54,156 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-15 12:01:54,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:54,158 INFO L93 Difference]: Finished difference Result 54 states and 65 transitions. [2022-04-15 12:01:54,158 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-15 12:01:54,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:54,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:54,158 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:54,158 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:54,158 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-15 12:01:54,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2022-04-15 12:01:54,159 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 52 transitions. Word has length 33 [2022-04-15 12:01:54,160 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:54,160 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 52 transitions. [2022-04-15 12:01:54,160 INFO L479 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-15 12:01:54,160 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 52 transitions. [2022-04-15 12:01:54,228 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-15 12:01:54,228 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2022-04-15 12:01:54,228 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-15 12:01:54,229 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:54,229 INFO L499 BasicCegarLoop]: 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-15 12:01:54,245 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-15 12:01:54,429 WARN L460 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-15 12:01:54,432 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:54,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:54,432 INFO L85 PathProgramCache]: Analyzing trace with hash 1075110444, now seen corresponding path program 7 times [2022-04-15 12:01:54,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:54,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [263927379] [2022-04-15 12:01:54,434 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:54,434 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:54,434 INFO L85 PathProgramCache]: Analyzing trace with hash 1075110444, now seen corresponding path program 8 times [2022-04-15 12:01:54,434 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:54,435 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2134801972] [2022-04-15 12:01:54,435 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:54,435 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:54,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:54,477 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:54,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:54,485 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-15 12:01:54,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {3590#(<= 5 ~n~0)} assume true; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:54,486 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3590#(<= 5 ~n~0)} {3585#true} #95#return; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:54,489 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:01:54,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:54,528 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-15 12:01:54,528 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-15 12:01:54,528 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-15 12:01:54,529 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-15 12:01:54,529 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-15 12:01:54,530 INFO L290 TraceCheckUtils]: 5: Hoare triple {3613#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 12:01:54,530 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-15 12:01:54,530 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-15 12:01:54,530 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-15 12:01:54,531 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-15 12:01:54,531 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-15 12:01:54,531 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-15 12:01:54,531 INFO L290 TraceCheckUtils]: 12: Hoare triple {3614#(<= ~n~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 12:01:54,532 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-15 12:01:54,532 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-15 12:01:54,532 INFO L290 TraceCheckUtils]: 15: Hoare triple {3614#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 12:01:54,532 INFO L290 TraceCheckUtils]: 16: Hoare triple {3614#(<= ~n~0 2)} assume true; {3614#(<= ~n~0 2)} is VALID [2022-04-15 12:01:54,533 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3614#(<= ~n~0 2)} {3590#(<= 5 ~n~0)} #91#return; {3586#false} is VALID [2022-04-15 12:01:54,533 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-15 12:01:54,534 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-15 12:01:54,534 INFO L290 TraceCheckUtils]: 2: Hoare triple {3590#(<= 5 ~n~0)} assume true; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:54,535 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3590#(<= 5 ~n~0)} {3585#true} #95#return; {3590#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:54,535 INFO L272 TraceCheckUtils]: 4: Hoare triple {3590#(<= 5 ~n~0)} call #t~ret10 := main(); {3590#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:54,535 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-15 12:01:54,535 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-15 12:01:54,536 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-15 12:01:54,536 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-15 12:01:54,536 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-15 12:01:54,536 INFO L290 TraceCheckUtils]: 10: Hoare triple {3590#(<= 5 ~n~0)} assume !(~i~1 >= 0); {3590#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:54,537 INFO L272 TraceCheckUtils]: 11: Hoare triple {3590#(<= 5 ~n~0)} call SelectionSort(); {3610#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:54,537 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-15 12:01:54,538 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-15 12:01:54,538 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-15 12:01:54,538 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-15 12:01:54,539 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-15 12:01:54,539 INFO L290 TraceCheckUtils]: 17: Hoare triple {3613#(<= SelectionSort_~i~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 12:01:54,539 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-15 12:01:54,540 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-15 12:01:54,540 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-15 12:01:54,540 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-15 12:01:54,540 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-15 12:01:54,541 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-15 12:01:54,541 INFO L290 TraceCheckUtils]: 24: Hoare triple {3614#(<= ~n~0 2)} assume !(~i~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 12:01:54,541 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-15 12:01:54,541 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-15 12:01:54,542 INFO L290 TraceCheckUtils]: 27: Hoare triple {3614#(<= ~n~0 2)} assume !(~lh~0 < ~n~0); {3614#(<= ~n~0 2)} is VALID [2022-04-15 12:01:54,542 INFO L290 TraceCheckUtils]: 28: Hoare triple {3614#(<= ~n~0 2)} assume true; {3614#(<= ~n~0 2)} is VALID [2022-04-15 12:01:54,542 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3614#(<= ~n~0 2)} {3590#(<= 5 ~n~0)} #91#return; {3586#false} is VALID [2022-04-15 12:01:54,542 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-15 12:01:54,542 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-15 12:01:54,543 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-15 12:01:54,543 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-15 12:01:54,543 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-15 12:01:54,543 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-15 12:01:54,543 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-15 12:01:54,543 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:54,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2134801972] [2022-04-15 12:01:54,543 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2134801972] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:54,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1084171519] [2022-04-15 12:01:54,543 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:01:54,543 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:54,544 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:54,544 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-15 12:01:54,545 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-15 12:01:54,596 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:01:54,596 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:54,597 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 12:01:54,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:54,606 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:54,704 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3585#true} is VALID [2022-04-15 12:01:54,705 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-15 12:01:54,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-15 12:01:54,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3585#true} {3585#true} #95#return; {3585#true} is VALID [2022-04-15 12:01:54,705 INFO L272 TraceCheckUtils]: 4: Hoare triple {3585#true} call #t~ret10 := main(); {3585#true} is VALID [2022-04-15 12:01:54,705 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-15 12:01:54,706 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-15 12:01:54,706 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-15 12:01:54,706 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-15 12:01:54,707 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-15 12:01:54,707 INFO L290 TraceCheckUtils]: 10: Hoare triple {3647#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {3586#false} is VALID [2022-04-15 12:01:54,707 INFO L272 TraceCheckUtils]: 11: Hoare triple {3586#false} call SelectionSort(); {3586#false} is VALID [2022-04-15 12:01:54,707 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-15 12:01:54,707 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-15 12:01:54,708 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-15 12:01:54,708 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-15 12:01:54,708 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-15 12:01:54,708 INFO L290 TraceCheckUtils]: 17: Hoare triple {3586#false} assume !(~i~0 < ~n~0); {3586#false} is VALID [2022-04-15 12:01:54,708 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-15 12:01:54,708 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-15 12:01:54,708 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-15 12:01:54,708 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-15 12:01:54,708 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-15 12:01:54,708 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-15 12:01:54,708 INFO L290 TraceCheckUtils]: 24: Hoare triple {3586#false} assume !(~i~0 < ~n~0); {3586#false} is VALID [2022-04-15 12:01:54,708 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-15 12:01:54,708 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-15 12:01:54,708 INFO L290 TraceCheckUtils]: 27: Hoare triple {3586#false} assume !(~lh~0 < ~n~0); {3586#false} is VALID [2022-04-15 12:01:54,709 INFO L290 TraceCheckUtils]: 28: Hoare triple {3586#false} assume true; {3586#false} is VALID [2022-04-15 12:01:54,709 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3586#false} {3586#false} #91#return; {3586#false} is VALID [2022-04-15 12:01:54,709 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-15 12:01:54,709 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-15 12:01:54,709 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-15 12:01:54,709 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-15 12:01:54,709 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-15 12:01:54,709 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-15 12:01:54,709 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-15 12:01:54,709 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:54,811 INFO L290 TraceCheckUtils]: 35: Hoare triple {3586#false} assume !false; {3586#false} is VALID [2022-04-15 12:01:54,811 INFO L290 TraceCheckUtils]: 34: Hoare triple {3586#false} assume 0 == ~cond; {3586#false} is VALID [2022-04-15 12:01:54,811 INFO L290 TraceCheckUtils]: 33: Hoare triple {3586#false} ~cond := #in~cond; {3586#false} is VALID [2022-04-15 12:01:54,811 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-15 12:01:54,811 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-15 12:01:54,811 INFO L290 TraceCheckUtils]: 30: Hoare triple {3586#false} ~i~1 := 0; {3586#false} is VALID [2022-04-15 12:01:54,812 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3585#true} {3586#false} #91#return; {3586#false} is VALID [2022-04-15 12:01:54,812 INFO L290 TraceCheckUtils]: 28: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-15 12:01:54,812 INFO L290 TraceCheckUtils]: 27: Hoare triple {3585#true} assume !(~lh~0 < ~n~0); {3585#true} is VALID [2022-04-15 12:01:54,812 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-15 12:01:54,812 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-15 12:01:54,812 INFO L290 TraceCheckUtils]: 24: Hoare triple {3585#true} assume !(~i~0 < ~n~0); {3585#true} is VALID [2022-04-15 12:01:54,812 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-15 12:01:54,812 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-15 12:01:54,812 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-15 12:01:54,812 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-15 12:01:54,812 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-15 12:01:54,812 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-15 12:01:54,812 INFO L290 TraceCheckUtils]: 17: Hoare triple {3585#true} assume !(~i~0 < ~n~0); {3585#true} is VALID [2022-04-15 12:01:54,812 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-15 12:01:54,813 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-15 12:01:54,813 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-15 12:01:54,813 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-15 12:01:54,813 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-15 12:01:54,813 INFO L272 TraceCheckUtils]: 11: Hoare triple {3586#false} call SelectionSort(); {3585#true} is VALID [2022-04-15 12:01:54,814 INFO L290 TraceCheckUtils]: 10: Hoare triple {3801#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {3586#false} is VALID [2022-04-15 12:01:54,814 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-15 12:01:54,815 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-15 12:01:54,815 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-15 12:01:54,815 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-15 12:01:54,839 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-15 12:01:54,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {3585#true} call #t~ret10 := main(); {3585#true} is VALID [2022-04-15 12:01:54,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3585#true} {3585#true} #95#return; {3585#true} is VALID [2022-04-15 12:01:54,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {3585#true} assume true; {3585#true} is VALID [2022-04-15 12:01:54,839 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-15 12:01:54,839 INFO L272 TraceCheckUtils]: 0: Hoare triple {3585#true} call ULTIMATE.init(); {3585#true} is VALID [2022-04-15 12:01:54,840 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-15 12:01:54,840 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1084171519] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:01:54,840 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:01:54,840 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5, 5] total 14 [2022-04-15 12:01:54,840 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:54,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [263927379] [2022-04-15 12:01:54,840 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [263927379] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:54,840 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:54,840 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 12:01:54,841 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [663657636] [2022-04-15 12:01:54,841 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:54,841 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-15 12:01:54,841 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:54,841 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-15 12:01:54,863 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-15 12:01:54,864 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 12:01:54,864 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:54,864 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 12:01:54,864 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2022-04-15 12:01:54,864 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-15 12:01:55,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:55,370 INFO L93 Difference]: Finished difference Result 77 states and 91 transitions. [2022-04-15 12:01:55,370 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 12:01:55,371 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-15 12:01:55,371 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:55,371 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-15 12:01:55,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-04-15 12:01:55,373 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-15 12:01:55,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 73 transitions. [2022-04-15 12:01:55,381 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 73 transitions. [2022-04-15 12:01:55,451 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-15 12:01:55,452 INFO L225 Difference]: With dead ends: 77 [2022-04-15 12:01:55,452 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 12:01:55,452 INFO L912 BasicCegarLoop]: 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-15 12:01:55,453 INFO L913 BasicCegarLoop]: 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.2s IncrementalHoareTripleChecker+Time [2022-04-15 12:01:55,453 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [107 Valid, 27 Invalid, 161 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 12:01:55,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 12:01:55,524 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 48. [2022-04-15 12:01:55,524 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:55,524 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-15 12:01:55,524 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-15 12:01:55,524 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-15 12:01:55,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:55,526 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-15 12:01:55,526 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-15 12:01:55,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:55,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:55,526 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-15 12:01:55,526 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-15 12:01:55,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:55,527 INFO L93 Difference]: Finished difference Result 50 states and 59 transitions. [2022-04-15 12:01:55,527 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2022-04-15 12:01:55,527 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:55,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:55,527 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:55,528 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:55,528 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-15 12:01:55,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 56 transitions. [2022-04-15 12:01:55,528 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 56 transitions. Word has length 36 [2022-04-15 12:01:55,529 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:55,529 INFO L478 AbstractCegarLoop]: Abstraction has 48 states and 56 transitions. [2022-04-15 12:01:55,529 INFO L479 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-15 12:01:55,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 56 transitions. [2022-04-15 12:01:55,602 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-15 12:01:55,602 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2022-04-15 12:01:55,602 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 12:01:55,602 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:55,603 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 12:01:55,621 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-15 12:01:55,819 WARN L460 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-15 12:01:55,820 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:55,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:55,820 INFO L85 PathProgramCache]: Analyzing trace with hash 482252264, now seen corresponding path program 9 times [2022-04-15 12:01:55,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:55,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [534594046] [2022-04-15 12:01:55,823 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:55,823 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:55,823 INFO L85 PathProgramCache]: Analyzing trace with hash 482252264, now seen corresponding path program 10 times [2022-04-15 12:01:55,823 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:55,823 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1232068439] [2022-04-15 12:01:55,823 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:55,823 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:55,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:55,860 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:55,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:55,867 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-15 12:01:55,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {4206#(<= 5 ~n~0)} assume true; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:55,868 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4206#(<= 5 ~n~0)} {4201#true} #95#return; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:55,871 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:01:55,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:55,919 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-15 12:01:55,920 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-15 12:01:55,920 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-15 12:01:55,921 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-15 12:01:55,921 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-15 12:01:55,921 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-15 12:01:55,922 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-15 12:01:55,922 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-15 12:01:55,923 INFO L290 TraceCheckUtils]: 8: Hoare triple {4233#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 12:01:55,923 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-15 12:01:55,923 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-15 12:01:55,924 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-15 12:01:55,924 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-15 12:01:55,924 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-15 12:01:55,924 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-15 12:01:55,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {4234#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 12:01:55,925 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-15 12:01:55,925 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-15 12:01:55,926 INFO L290 TraceCheckUtils]: 18: Hoare triple {4234#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 12:01:55,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {4234#(<= ~n~0 3)} assume true; {4234#(<= ~n~0 3)} is VALID [2022-04-15 12:01:55,926 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4234#(<= ~n~0 3)} {4206#(<= 5 ~n~0)} #91#return; {4202#false} is VALID [2022-04-15 12:01:55,928 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-15 12:01:55,929 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-15 12:01:55,929 INFO L290 TraceCheckUtils]: 2: Hoare triple {4206#(<= 5 ~n~0)} assume true; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:55,929 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4206#(<= 5 ~n~0)} {4201#true} #95#return; {4206#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:55,930 INFO L272 TraceCheckUtils]: 4: Hoare triple {4206#(<= 5 ~n~0)} call #t~ret10 := main(); {4206#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:55,930 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-15 12:01:55,930 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-15 12:01:55,930 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-15 12:01:55,931 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-15 12:01:55,931 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-15 12:01:55,931 INFO L290 TraceCheckUtils]: 10: Hoare triple {4206#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4206#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:55,932 INFO L272 TraceCheckUtils]: 11: Hoare triple {4206#(<= 5 ~n~0)} call SelectionSort(); {4229#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:55,932 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-15 12:01:55,933 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-15 12:01:55,933 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-15 12:01:55,933 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-15 12:01:55,934 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-15 12:01:55,934 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-15 12:01:55,934 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-15 12:01:55,935 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-15 12:01:55,935 INFO L290 TraceCheckUtils]: 20: Hoare triple {4233#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 12:01:55,935 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-15 12:01:55,936 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-15 12:01:55,936 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-15 12:01:55,936 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-15 12:01:55,936 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-15 12:01:55,937 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-15 12:01:55,937 INFO L290 TraceCheckUtils]: 27: Hoare triple {4234#(<= ~n~0 3)} assume !(~i~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 12:01:55,937 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-15 12:01:55,938 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-15 12:01:55,938 INFO L290 TraceCheckUtils]: 30: Hoare triple {4234#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {4234#(<= ~n~0 3)} is VALID [2022-04-15 12:01:55,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {4234#(<= ~n~0 3)} assume true; {4234#(<= ~n~0 3)} is VALID [2022-04-15 12:01:55,939 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4234#(<= ~n~0 3)} {4206#(<= 5 ~n~0)} #91#return; {4202#false} is VALID [2022-04-15 12:01:55,939 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-15 12:01:55,939 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-15 12:01:55,939 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-15 12:01:55,939 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-15 12:01:55,939 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-15 12:01:55,939 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-15 12:01:55,940 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-15 12:01:55,940 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:55,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1232068439] [2022-04-15 12:01:55,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1232068439] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:55,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [193645677] [2022-04-15 12:01:55,940 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:01:55,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:55,941 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:55,941 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-15 12:01:55,942 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-15 12:01:55,997 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:01:55,997 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:55,998 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-15 12:01:56,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:56,009 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:56,170 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4201#true} is VALID [2022-04-15 12:01:56,170 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-15 12:01:56,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#true} assume true; {4201#true} is VALID [2022-04-15 12:01:56,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4201#true} {4201#true} #95#return; {4201#true} is VALID [2022-04-15 12:01:56,171 INFO L272 TraceCheckUtils]: 4: Hoare triple {4201#true} call #t~ret10 := main(); {4201#true} is VALID [2022-04-15 12:01:56,171 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-15 12:01:56,171 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-15 12:01:56,171 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-15 12:01:56,171 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-15 12:01:56,171 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-15 12:01:56,171 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#true} assume !(~i~1 >= 0); {4201#true} is VALID [2022-04-15 12:01:56,171 INFO L272 TraceCheckUtils]: 11: Hoare triple {4201#true} call SelectionSort(); {4201#true} is VALID [2022-04-15 12:01:56,171 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-15 12:01:56,172 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-15 12:01:56,172 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-15 12:01:56,172 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-15 12:01:56,173 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-15 12:01:56,174 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-15 12:01:56,175 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-15 12:01:56,175 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-15 12:01:56,175 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-15 12:01:56,175 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-15 12:01:56,176 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-15 12:01:56,176 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-15 12:01:56,176 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-15 12:01:56,177 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-15 12:01:56,177 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-15 12:01:56,177 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-15 12:01:56,177 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-15 12:01:56,178 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-15 12:01:56,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {4329#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {4202#false} is VALID [2022-04-15 12:01:56,178 INFO L290 TraceCheckUtils]: 31: Hoare triple {4202#false} assume true; {4202#false} is VALID [2022-04-15 12:01:56,178 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4202#false} {4201#true} #91#return; {4202#false} is VALID [2022-04-15 12:01:56,178 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-15 12:01:56,178 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-15 12:01:56,178 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-15 12:01:56,179 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-15 12:01:56,179 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-15 12:01:56,179 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-15 12:01:56,179 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-15 12:01:56,179 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:56,352 INFO L290 TraceCheckUtils]: 38: Hoare triple {4202#false} assume !false; {4202#false} is VALID [2022-04-15 12:01:56,352 INFO L290 TraceCheckUtils]: 37: Hoare triple {4202#false} assume 0 == ~cond; {4202#false} is VALID [2022-04-15 12:01:56,356 INFO L290 TraceCheckUtils]: 36: Hoare triple {4202#false} ~cond := #in~cond; {4202#false} is VALID [2022-04-15 12:01:56,356 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-15 12:01:56,356 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-15 12:01:56,357 INFO L290 TraceCheckUtils]: 33: Hoare triple {4202#false} ~i~1 := 0; {4202#false} is VALID [2022-04-15 12:01:56,357 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4202#false} {4201#true} #91#return; {4202#false} is VALID [2022-04-15 12:01:56,357 INFO L290 TraceCheckUtils]: 31: Hoare triple {4202#false} assume true; {4202#false} is VALID [2022-04-15 12:01:56,357 INFO L290 TraceCheckUtils]: 30: Hoare triple {4329#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {4202#false} is VALID [2022-04-15 12:01:56,358 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-15 12:01:56,358 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-15 12:01:56,359 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-15 12:01:56,359 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-15 12:01:56,359 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-15 12:01:56,360 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-15 12:01:56,360 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-15 12:01:56,361 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-15 12:01:56,361 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-15 12:01:56,361 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-15 12:01:56,364 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-15 12:01:56,364 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-15 12:01:56,365 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-15 12:01:56,365 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-15 12:01:56,366 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-15 12:01:56,366 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-15 12:01:56,366 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-15 12:01:56,367 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-15 12:01:56,367 INFO L272 TraceCheckUtils]: 11: Hoare triple {4201#true} call SelectionSort(); {4201#true} is VALID [2022-04-15 12:01:56,367 INFO L290 TraceCheckUtils]: 10: Hoare triple {4201#true} assume !(~i~1 >= 0); {4201#true} is VALID [2022-04-15 12:01:56,367 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-15 12:01:56,367 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-15 12:01:56,367 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-15 12:01:56,367 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-15 12:01:56,367 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-15 12:01:56,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {4201#true} call #t~ret10 := main(); {4201#true} is VALID [2022-04-15 12:01:56,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4201#true} {4201#true} #95#return; {4201#true} is VALID [2022-04-15 12:01:56,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {4201#true} assume true; {4201#true} is VALID [2022-04-15 12:01:56,368 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-15 12:01:56,368 INFO L272 TraceCheckUtils]: 0: Hoare triple {4201#true} call ULTIMATE.init(); {4201#true} is VALID [2022-04-15 12:01:56,368 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-15 12:01:56,368 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [193645677] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:01:56,368 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:01:56,368 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 7] total 15 [2022-04-15 12:01:56,369 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:56,369 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [534594046] [2022-04-15 12:01:56,369 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [534594046] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:56,369 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:56,369 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 12:01:56,369 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1133096360] [2022-04-15 12:01:56,369 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:56,370 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-15 12:01:56,371 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:56,371 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-15 12:01:56,396 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-15 12:01:56,397 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 12:01:56,397 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:56,397 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 12:01:56,397 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=176, Unknown=0, NotChecked=0, Total=210 [2022-04-15 12:01:56,398 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-15 12:01:57,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:57,007 INFO L93 Difference]: Finished difference Result 80 states and 95 transitions. [2022-04-15 12:01:57,007 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 12:01:57,007 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-15 12:01:57,008 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:57,008 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-15 12:01:57,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2022-04-15 12:01:57,010 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-15 12:01:57,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 77 transitions. [2022-04-15 12:01:57,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 77 transitions. [2022-04-15 12:01:57,076 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-15 12:01:57,077 INFO L225 Difference]: With dead ends: 80 [2022-04-15 12:01:57,077 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 12:01:57,077 INFO L912 BasicCegarLoop]: 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-15 12:01:57,078 INFO L913 BasicCegarLoop]: 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-15 12:01:57,078 INFO L914 BasicCegarLoop]: 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-15 12:01:57,078 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 12:01:57,155 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 51. [2022-04-15 12:01:57,155 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:57,156 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-15 12:01:57,156 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-15 12:01:57,157 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-15 12:01:57,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:57,158 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2022-04-15 12:01:57,158 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 63 transitions. [2022-04-15 12:01:57,158 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:57,158 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:57,158 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-15 12:01:57,158 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-15 12:01:57,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:57,159 INFO L93 Difference]: Finished difference Result 53 states and 63 transitions. [2022-04-15 12:01:57,159 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 63 transitions. [2022-04-15 12:01:57,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:57,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:57,160 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:57,160 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:57,160 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-15 12:01:57,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 60 transitions. [2022-04-15 12:01:57,161 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 60 transitions. Word has length 39 [2022-04-15 12:01:57,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:57,161 INFO L478 AbstractCegarLoop]: Abstraction has 51 states and 60 transitions. [2022-04-15 12:01:57,162 INFO L479 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-15 12:01:57,163 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 51 states and 60 transitions. [2022-04-15 12:01:57,238 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-15 12:01:57,239 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 60 transitions. [2022-04-15 12:01:57,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 12:01:57,239 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:57,239 INFO L499 BasicCegarLoop]: 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-15 12:01:57,282 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-15 12:01:57,439 WARN L460 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-15 12:01:57,440 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:57,440 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:57,440 INFO L85 PathProgramCache]: Analyzing trace with hash -450266964, now seen corresponding path program 11 times [2022-04-15 12:01:57,440 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:57,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [841053199] [2022-04-15 12:01:57,442 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:57,443 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:57,443 INFO L85 PathProgramCache]: Analyzing trace with hash -450266964, now seen corresponding path program 12 times [2022-04-15 12:01:57,443 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:57,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [533243477] [2022-04-15 12:01:57,443 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:57,443 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:57,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:57,491 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:57,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:57,498 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-15 12:01:57,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,498 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,501 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:01:57,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:57,566 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-15 12:01:57,567 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-15 12:01:57,567 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-15 12:01:57,568 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-15 12:01:57,568 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-15 12:01:57,568 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-15 12:01:57,569 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-15 12:01:57,569 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-15 12:01:57,569 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-15 12:01:57,570 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-15 12:01:57,570 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-15 12:01:57,570 INFO L290 TraceCheckUtils]: 11: Hoare triple {4895#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 12:01:57,571 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-15 12:01:57,571 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-15 12:01:57,571 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-15 12:01:57,571 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-15 12:01:57,572 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-15 12:01:57,572 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-15 12:01:57,573 INFO L290 TraceCheckUtils]: 18: Hoare triple {4896#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 12:01:57,573 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-15 12:01:57,573 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-15 12:01:57,573 INFO L290 TraceCheckUtils]: 21: Hoare triple {4896#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 12:01:57,574 INFO L290 TraceCheckUtils]: 22: Hoare triple {4896#(<= ~n~0 4)} assume true; {4896#(<= ~n~0 4)} is VALID [2022-04-15 12:01:57,575 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4896#(<= ~n~0 4)} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-15 12:01:57,575 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-15 12:01:57,576 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-15 12:01:57,576 INFO L290 TraceCheckUtils]: 2: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,577 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,577 INFO L272 TraceCheckUtils]: 4: Hoare triple {4864#(<= 5 ~n~0)} call #t~ret10 := main(); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,577 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-15 12:01:57,577 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-15 12:01:57,578 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-15 12:01:57,578 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-15 12:01:57,578 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-15 12:01:57,578 INFO L290 TraceCheckUtils]: 10: Hoare triple {4864#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,579 INFO L272 TraceCheckUtils]: 11: Hoare triple {4864#(<= 5 ~n~0)} call SelectionSort(); {4890#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:57,579 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-15 12:01:57,579 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-15 12:01:57,580 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-15 12:01:57,580 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-15 12:01:57,580 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-15 12:01:57,581 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-15 12:01:57,581 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-15 12:01:57,581 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-15 12:01:57,581 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-15 12:01:57,582 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-15 12:01:57,582 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-15 12:01:57,582 INFO L290 TraceCheckUtils]: 23: Hoare triple {4895#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 12:01:57,583 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-15 12:01:57,583 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-15 12:01:57,583 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-15 12:01:57,583 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-15 12:01:57,584 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-15 12:01:57,584 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-15 12:01:57,584 INFO L290 TraceCheckUtils]: 30: Hoare triple {4896#(<= ~n~0 4)} assume !(~i~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 12:01:57,584 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-15 12:01:57,585 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-15 12:01:57,585 INFO L290 TraceCheckUtils]: 33: Hoare triple {4896#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {4896#(<= ~n~0 4)} is VALID [2022-04-15 12:01:57,585 INFO L290 TraceCheckUtils]: 34: Hoare triple {4896#(<= ~n~0 4)} assume true; {4896#(<= ~n~0 4)} is VALID [2022-04-15 12:01:57,586 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4896#(<= ~n~0 4)} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-15 12:01:57,586 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-15 12:01:57,586 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-15 12:01:57,586 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-15 12:01:57,586 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-15 12:01:57,586 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-15 12:01:57,586 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-15 12:01:57,586 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-15 12:01:57,587 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:57,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [533243477] [2022-04-15 12:01:57,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [533243477] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:57,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1168171546] [2022-04-15 12:01:57,587 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:01:57,587 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:57,588 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:57,588 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-15 12:01:57,589 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-15 12:01:57,643 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 12:01:57,643 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:57,644 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 12:01:57,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:57,656 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:57,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-15 12:01:57,938 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-15 12:01:57,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {4864#(<= 5 ~n~0)} assume true; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4864#(<= 5 ~n~0)} {4859#true} #95#return; {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {4864#(<= 5 ~n~0)} call #t~ret10 := main(); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,939 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-15 12:01:57,939 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-15 12:01:57,940 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-15 12:01:57,940 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-15 12:01:57,940 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-15 12:01:57,940 INFO L290 TraceCheckUtils]: 10: Hoare triple {4864#(<= 5 ~n~0)} assume !(~i~1 >= 0); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,941 INFO L272 TraceCheckUtils]: 11: Hoare triple {4864#(<= 5 ~n~0)} call SelectionSort(); {4864#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:57,941 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-15 12:01:57,942 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-15 12:01:57,942 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-15 12:01:57,942 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-15 12:01:57,943 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-15 12:01:57,943 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-15 12:01:57,944 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-15 12:01:57,944 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-15 12:01:57,944 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-15 12:01:57,945 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-15 12:01:57,945 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-15 12:01:57,945 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-15 12:01:57,946 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-15 12:01:57,946 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-15 12:01:57,947 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-15 12:01:57,947 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-15 12:01:57,948 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-15 12:01:57,948 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-15 12:01:57,948 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-15 12:01:57,949 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-15 12:01:57,949 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-15 12:01:57,950 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-15 12:01:57,950 INFO L290 TraceCheckUtils]: 34: Hoare triple {4860#false} assume true; {4860#false} is VALID [2022-04-15 12:01:57,950 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4860#false} {4864#(<= 5 ~n~0)} #91#return; {4860#false} is VALID [2022-04-15 12:01:57,950 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-15 12:01:57,950 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-15 12:01:57,950 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-15 12:01:57,950 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-15 12:01:57,950 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-15 12:01:57,950 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-15 12:01:57,950 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-15 12:01:57,951 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:01:58,374 INFO L290 TraceCheckUtils]: 41: Hoare triple {4860#false} assume !false; {4860#false} is VALID [2022-04-15 12:01:58,374 INFO L290 TraceCheckUtils]: 40: Hoare triple {4860#false} assume 0 == ~cond; {4860#false} is VALID [2022-04-15 12:01:58,374 INFO L290 TraceCheckUtils]: 39: Hoare triple {4860#false} ~cond := #in~cond; {4860#false} is VALID [2022-04-15 12:01:58,374 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-15 12:01:58,374 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-15 12:01:58,375 INFO L290 TraceCheckUtils]: 36: Hoare triple {4860#false} ~i~1 := 0; {4860#false} is VALID [2022-04-15 12:01:58,375 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5048#(not (< 2 ~n~0))} {5044#(< 2 ~n~0)} #91#return; {4860#false} is VALID [2022-04-15 12:01:58,375 INFO L290 TraceCheckUtils]: 34: Hoare triple {5048#(not (< 2 ~n~0))} assume true; {5048#(not (< 2 ~n~0))} is VALID [2022-04-15 12:01:58,376 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-15 12:01:58,376 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-15 12:01:58,377 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-15 12:01:58,377 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-15 12:01:58,377 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-15 12:01:58,377 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-15 12:01:58,378 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-15 12:01:58,378 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-15 12:01:58,379 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-15 12:01:58,379 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-15 12:01:58,379 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-15 12:01:58,379 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-15 12:01:58,380 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-15 12:01:58,380 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-15 12:01:58,380 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-15 12:01:58,381 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-15 12:01:58,381 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-15 12:01:58,381 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-15 12:01:58,381 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-15 12:01:58,382 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-15 12:01:58,382 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-15 12:01:58,382 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-15 12:01:58,382 INFO L272 TraceCheckUtils]: 11: Hoare triple {5044#(< 2 ~n~0)} call SelectionSort(); {4859#true} is VALID [2022-04-15 12:01:58,383 INFO L290 TraceCheckUtils]: 10: Hoare triple {5044#(< 2 ~n~0)} assume !(~i~1 >= 0); {5044#(< 2 ~n~0)} is VALID [2022-04-15 12:01:58,384 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-15 12:01:58,384 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-15 12:01:58,384 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-15 12:01:58,412 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-15 12:01:58,413 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-15 12:01:58,413 INFO L272 TraceCheckUtils]: 4: Hoare triple {5044#(< 2 ~n~0)} call #t~ret10 := main(); {5044#(< 2 ~n~0)} is VALID [2022-04-15 12:01:58,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5044#(< 2 ~n~0)} {4859#true} #95#return; {5044#(< 2 ~n~0)} is VALID [2022-04-15 12:01:58,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {5044#(< 2 ~n~0)} assume true; {5044#(< 2 ~n~0)} is VALID [2022-04-15 12:01:58,415 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-15 12:01:58,415 INFO L272 TraceCheckUtils]: 0: Hoare triple {4859#true} call ULTIMATE.init(); {4859#true} is VALID [2022-04-15 12:01:58,415 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-15 12:01:58,415 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1168171546] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:01:58,415 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:01:58,415 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 6, 7] total 19 [2022-04-15 12:01:58,416 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:01:58,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [841053199] [2022-04-15 12:01:58,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [841053199] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:01:58,416 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:01:58,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 12:01:58,416 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [988217879] [2022-04-15 12:01:58,416 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:01:58,416 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-15 12:01:58,416 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:01:58,416 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-15 12:01:58,447 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-15 12:01:58,447 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 12:01:58,447 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:58,448 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 12:01:58,448 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=271, Unknown=0, NotChecked=0, Total=342 [2022-04-15 12:01:58,448 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-15 12:01:59,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:59,078 INFO L93 Difference]: Finished difference Result 83 states and 99 transitions. [2022-04-15 12:01:59,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 12:01:59,078 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-15 12:01:59,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:01:59,079 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-15 12:01:59,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-15 12:01:59,080 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-15 12:01:59,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-15 12:01:59,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 81 transitions. [2022-04-15 12:01:59,151 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-15 12:01:59,153 INFO L225 Difference]: With dead ends: 83 [2022-04-15 12:01:59,153 INFO L226 Difference]: Without dead ends: 56 [2022-04-15 12:01:59,153 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 122 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=217, Invalid=595, Unknown=0, NotChecked=0, Total=812 [2022-04-15 12:01:59,154 INFO L913 BasicCegarLoop]: 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-15 12:01:59,154 INFO L914 BasicCegarLoop]: 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-15 12:01:59,154 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-15 12:01:59,232 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 54. [2022-04-15 12:01:59,232 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:01:59,232 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-15 12:01:59,232 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-15 12:01:59,232 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-15 12:01:59,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:59,233 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-15 12:01:59,233 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-15 12:01:59,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:59,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:59,234 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-15 12:01:59,234 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-15 12:01:59,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:01:59,235 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-15 12:01:59,235 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-15 12:01:59,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:01:59,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:01:59,235 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:01:59,235 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:01:59,235 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-15 12:01:59,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 64 transitions. [2022-04-15 12:01:59,236 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 64 transitions. Word has length 42 [2022-04-15 12:01:59,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:01:59,236 INFO L478 AbstractCegarLoop]: Abstraction has 54 states and 64 transitions. [2022-04-15 12:01:59,236 INFO L479 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-15 12:01:59,236 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 64 transitions. [2022-04-15 12:01:59,319 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-15 12:01:59,320 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 64 transitions. [2022-04-15 12:01:59,320 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 12:01:59,320 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:01:59,320 INFO L499 BasicCegarLoop]: 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-15 12:01:59,338 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-15 12:01:59,537 WARN L460 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-15 12:01:59,538 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:01:59,538 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:01:59,538 INFO L85 PathProgramCache]: Analyzing trace with hash -1282117784, now seen corresponding path program 13 times [2022-04-15 12:01:59,538 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:01:59,538 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1820584562] [2022-04-15 12:01:59,540 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:01:59,540 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:01:59,541 INFO L85 PathProgramCache]: Analyzing trace with hash -1282117784, now seen corresponding path program 14 times [2022-04-15 12:01:59,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:01:59,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1034320654] [2022-04-15 12:01:59,541 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:01:59,541 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:01:59,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:59,591 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:01:59,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:59,604 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-15 12:01:59,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {5567#(<= 5 ~n~0)} assume true; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:59,605 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5567#(<= 5 ~n~0)} {5562#true} #95#return; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:59,608 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:01:59,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:59,673 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-15 12:01:59,673 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-15 12:01:59,674 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-15 12:01:59,674 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-15 12:01:59,674 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-15 12:01:59,675 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-15 12:01:59,675 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-15 12:01:59,675 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-15 12:01:59,676 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-15 12:01:59,676 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-15 12:01:59,676 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-15 12:01:59,676 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-15 12:01:59,677 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-15 12:01:59,677 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-15 12:01:59,677 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-15 12:01:59,678 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-15 12:01:59,678 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-15 12:01:59,679 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-15 12:01:59,679 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-15 12:01:59,679 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-15 12:01:59,680 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-15 12:01:59,680 INFO L290 TraceCheckUtils]: 21: Hoare triple {5600#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-15 12:01:59,680 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-15 12:01:59,681 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-15 12:01:59,681 INFO L290 TraceCheckUtils]: 24: Hoare triple {5601#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-15 12:01:59,681 INFO L290 TraceCheckUtils]: 25: Hoare triple {5601#(<= ~n~0 3)} assume true; {5601#(<= ~n~0 3)} is VALID [2022-04-15 12:01:59,682 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5601#(<= ~n~0 3)} {5567#(<= 5 ~n~0)} #91#return; {5563#false} is VALID [2022-04-15 12:01:59,682 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-15 12:01:59,683 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-15 12:01:59,683 INFO L290 TraceCheckUtils]: 2: Hoare triple {5567#(<= 5 ~n~0)} assume true; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:59,684 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5567#(<= 5 ~n~0)} {5562#true} #95#return; {5567#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:59,684 INFO L272 TraceCheckUtils]: 4: Hoare triple {5567#(<= 5 ~n~0)} call #t~ret10 := main(); {5567#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:59,684 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-15 12:01:59,685 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-15 12:01:59,685 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-15 12:01:59,685 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-15 12:01:59,686 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-15 12:01:59,686 INFO L290 TraceCheckUtils]: 10: Hoare triple {5567#(<= 5 ~n~0)} assume !(~i~1 >= 0); {5567#(<= 5 ~n~0)} is VALID [2022-04-15 12:01:59,686 INFO L272 TraceCheckUtils]: 11: Hoare triple {5567#(<= 5 ~n~0)} call SelectionSort(); {5596#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:01:59,687 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-15 12:01:59,687 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-15 12:01:59,687 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-15 12:01:59,687 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-15 12:01:59,688 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-15 12:01:59,688 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-15 12:01:59,688 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-15 12:01:59,689 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-15 12:01:59,689 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-15 12:01:59,689 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-15 12:01:59,689 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-15 12:01:59,690 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-15 12:01:59,690 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-15 12:01:59,690 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-15 12:01:59,691 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-15 12:01:59,691 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-15 12:01:59,691 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-15 12:01:59,692 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-15 12:01:59,692 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-15 12:01:59,692 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-15 12:01:59,693 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-15 12:01:59,693 INFO L290 TraceCheckUtils]: 33: Hoare triple {5600#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-15 12:01:59,694 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-15 12:01:59,694 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-15 12:01:59,694 INFO L290 TraceCheckUtils]: 36: Hoare triple {5601#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {5601#(<= ~n~0 3)} is VALID [2022-04-15 12:01:59,694 INFO L290 TraceCheckUtils]: 37: Hoare triple {5601#(<= ~n~0 3)} assume true; {5601#(<= ~n~0 3)} is VALID [2022-04-15 12:01:59,695 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5601#(<= ~n~0 3)} {5567#(<= 5 ~n~0)} #91#return; {5563#false} is VALID [2022-04-15 12:01:59,695 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-15 12:01:59,695 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-15 12:01:59,695 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-15 12:01:59,695 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-15 12:01:59,695 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-15 12:01:59,695 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-15 12:01:59,696 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-15 12:01:59,696 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:01:59,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1034320654] [2022-04-15 12:01:59,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1034320654] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:01:59,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2138407327] [2022-04-15 12:01:59,696 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:01:59,696 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:01:59,696 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:01:59,697 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-15 12:01:59,726 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-15 12:01:59,762 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:01:59,762 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:01:59,763 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 12:01:59,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:01:59,774 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:01:59,889 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-15 12:01:59,890 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-15 12:01:59,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 12:01:59,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #95#return; {5562#true} is VALID [2022-04-15 12:01:59,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret10 := main(); {5562#true} is VALID [2022-04-15 12:01:59,890 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-15 12:01:59,891 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-15 12:01:59,891 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-15 12:01:59,892 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-15 12:01:59,892 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-15 12:01:59,892 INFO L290 TraceCheckUtils]: 10: Hoare triple {5634#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {5563#false} is VALID [2022-04-15 12:01:59,892 INFO L272 TraceCheckUtils]: 11: Hoare triple {5563#false} call SelectionSort(); {5563#false} is VALID [2022-04-15 12:01:59,892 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,893 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-15 12:01:59,894 INFO L290 TraceCheckUtils]: 26: Hoare triple {5563#false} assume !(~i~0 < ~n~0); {5563#false} is VALID [2022-04-15 12:01:59,894 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-15 12:01:59,894 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-15 12:01:59,894 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-15 12:01:59,894 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-15 12:01:59,894 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-15 12:01:59,894 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-15 12:01:59,894 INFO L290 TraceCheckUtils]: 33: Hoare triple {5563#false} assume !(~i~0 < ~n~0); {5563#false} is VALID [2022-04-15 12:01:59,894 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-15 12:01:59,894 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-15 12:01:59,894 INFO L290 TraceCheckUtils]: 36: Hoare triple {5563#false} assume !(~lh~0 < ~n~0); {5563#false} is VALID [2022-04-15 12:01:59,894 INFO L290 TraceCheckUtils]: 37: Hoare triple {5563#false} assume true; {5563#false} is VALID [2022-04-15 12:01:59,894 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5563#false} {5563#false} #91#return; {5563#false} is VALID [2022-04-15 12:01:59,894 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-15 12:01:59,895 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-15 12:01:59,895 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-15 12:01:59,895 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-15 12:01:59,895 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-15 12:01:59,895 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-15 12:01:59,895 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-15 12:01:59,895 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:00,013 INFO L290 TraceCheckUtils]: 44: Hoare triple {5563#false} assume !false; {5563#false} is VALID [2022-04-15 12:02:00,013 INFO L290 TraceCheckUtils]: 43: Hoare triple {5563#false} assume 0 == ~cond; {5563#false} is VALID [2022-04-15 12:02:00,013 INFO L290 TraceCheckUtils]: 42: Hoare triple {5563#false} ~cond := #in~cond; {5563#false} is VALID [2022-04-15 12:02:00,013 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-15 12:02:00,013 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-15 12:02:00,013 INFO L290 TraceCheckUtils]: 39: Hoare triple {5563#false} ~i~1 := 0; {5563#false} is VALID [2022-04-15 12:02:00,013 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5562#true} {5563#false} #91#return; {5563#false} is VALID [2022-04-15 12:02:00,014 INFO L290 TraceCheckUtils]: 37: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 12:02:00,014 INFO L290 TraceCheckUtils]: 36: Hoare triple {5562#true} assume !(~lh~0 < ~n~0); {5562#true} is VALID [2022-04-15 12:02:00,014 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-15 12:02:00,014 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-15 12:02:00,014 INFO L290 TraceCheckUtils]: 33: Hoare triple {5562#true} assume !(~i~0 < ~n~0); {5562#true} is VALID [2022-04-15 12:02:00,014 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-15 12:02:00,014 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-15 12:02:00,014 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-15 12:02:00,014 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-15 12:02:00,014 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-15 12:02:00,014 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-15 12:02:00,014 INFO L290 TraceCheckUtils]: 26: Hoare triple {5562#true} assume !(~i~0 < ~n~0); {5562#true} is VALID [2022-04-15 12:02:00,014 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 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-15 12:02:00,015 INFO L272 TraceCheckUtils]: 11: Hoare triple {5563#false} call SelectionSort(); {5562#true} is VALID [2022-04-15 12:02:00,017 INFO L290 TraceCheckUtils]: 10: Hoare triple {5842#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {5563#false} is VALID [2022-04-15 12:02:00,017 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-15 12:02:00,017 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-15 12:02:00,018 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-15 12:02:00,018 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-15 12:02:00,018 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-15 12:02:00,019 INFO L272 TraceCheckUtils]: 4: Hoare triple {5562#true} call #t~ret10 := main(); {5562#true} is VALID [2022-04-15 12:02:00,019 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5562#true} {5562#true} #95#return; {5562#true} is VALID [2022-04-15 12:02:00,019 INFO L290 TraceCheckUtils]: 2: Hoare triple {5562#true} assume true; {5562#true} is VALID [2022-04-15 12:02:00,019 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-15 12:02:00,019 INFO L272 TraceCheckUtils]: 0: Hoare triple {5562#true} call ULTIMATE.init(); {5562#true} is VALID [2022-04-15 12:02:00,019 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-15 12:02:00,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2138407327] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:00,019 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:00,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-15 12:02:00,020 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:00,020 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1820584562] [2022-04-15 12:02:00,020 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1820584562] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:00,020 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:00,020 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 12:02:00,020 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [82100108] [2022-04-15 12:02:00,020 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:00,020 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-15 12:02:00,020 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:00,021 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-15 12:02:00,044 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-15 12:02:00,045 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 12:02:00,045 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:00,045 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 12:02:00,045 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-15 12:02:00,045 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-15 12:02:00,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:00,774 INFO L93 Difference]: Finished difference Result 87 states and 106 transitions. [2022-04-15 12:02:00,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 12:02:00,774 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-15 12:02:00,775 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:00,775 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-15 12:02:00,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-15 12:02:00,778 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-15 12:02:00,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 89 transitions. [2022-04-15 12:02:00,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 89 transitions. [2022-04-15 12:02:00,852 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-15 12:02:00,853 INFO L225 Difference]: With dead ends: 87 [2022-04-15 12:02:00,853 INFO L226 Difference]: Without dead ends: 64 [2022-04-15 12:02:00,853 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 86 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=139, Invalid=511, Unknown=0, NotChecked=0, Total=650 [2022-04-15 12:02:00,854 INFO L913 BasicCegarLoop]: 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-15 12:02:00,854 INFO L914 BasicCegarLoop]: 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-15 12:02:00,854 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-15 12:02:00,938 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 57. [2022-04-15 12:02:00,939 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:00,939 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-15 12:02:00,939 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-15 12:02:00,939 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-15 12:02:00,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:00,940 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-15 12:02:00,940 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-15 12:02:00,940 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:00,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:00,941 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-15 12:02:00,941 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-15 12:02:00,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:00,942 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-15 12:02:00,942 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-15 12:02:00,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:00,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:00,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:00,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:00,942 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-15 12:02:00,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 68 transitions. [2022-04-15 12:02:00,943 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 68 transitions. Word has length 45 [2022-04-15 12:02:00,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:00,943 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 68 transitions. [2022-04-15 12:02:00,943 INFO L479 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-15 12:02:00,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 68 transitions. [2022-04-15 12:02:01,034 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-15 12:02:01,035 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 68 transitions. [2022-04-15 12:02:01,035 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-15 12:02:01,035 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:01,035 INFO L499 BasicCegarLoop]: 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-15 12:02:01,051 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-15 12:02:01,236 WARN L460 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-15 12:02:01,237 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:01,237 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:01,238 INFO L85 PathProgramCache]: Analyzing trace with hash 1463860828, now seen corresponding path program 15 times [2022-04-15 12:02:01,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:01,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [587314084] [2022-04-15 12:02:01,242 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:01,243 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:01,243 INFO L85 PathProgramCache]: Analyzing trace with hash 1463860828, now seen corresponding path program 16 times [2022-04-15 12:02:01,243 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:01,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1441672458] [2022-04-15 12:02:01,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:01,243 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:01,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:01,294 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:01,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:01,301 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-15 12:02:01,301 INFO L290 TraceCheckUtils]: 1: Hoare triple {6319#(<= 5 ~n~0)} assume true; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:01,301 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6319#(<= 5 ~n~0)} {6314#true} #95#return; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:01,304 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:02:01,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:01,362 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-15 12:02:01,362 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-15 12:02:01,363 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-15 12:02:01,363 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-15 12:02:01,363 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-15 12:02:01,364 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-15 12:02:01,364 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-15 12:02:01,364 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-15 12:02:01,364 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-15 12:02:01,365 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-15 12:02:01,365 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-15 12:02:01,365 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-15 12:02:01,365 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-15 12:02:01,366 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-15 12:02:01,366 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-15 12:02:01,366 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-15 12:02:01,367 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-15 12:02:01,367 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-15 12:02:01,367 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-15 12:02:01,368 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-15 12:02:01,368 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-15 12:02:01,368 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-15 12:02:01,368 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-15 12:02:01,369 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-15 12:02:01,369 INFO L290 TraceCheckUtils]: 24: Hoare triple {6356#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-15 12:02:01,369 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-15 12:02:01,370 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-15 12:02:01,370 INFO L290 TraceCheckUtils]: 27: Hoare triple {6357#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-15 12:02:01,370 INFO L290 TraceCheckUtils]: 28: Hoare triple {6357#(<= ~n~0 4)} assume true; {6357#(<= ~n~0 4)} is VALID [2022-04-15 12:02:01,371 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {6357#(<= ~n~0 4)} {6319#(<= 5 ~n~0)} #91#return; {6315#false} is VALID [2022-04-15 12:02:01,371 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-15 12:02:01,372 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-15 12:02:01,372 INFO L290 TraceCheckUtils]: 2: Hoare triple {6319#(<= 5 ~n~0)} assume true; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:01,372 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6319#(<= 5 ~n~0)} {6314#true} #95#return; {6319#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:01,373 INFO L272 TraceCheckUtils]: 4: Hoare triple {6319#(<= 5 ~n~0)} call #t~ret10 := main(); {6319#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:01,373 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-15 12:02:01,373 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-15 12:02:01,373 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-15 12:02:01,374 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-15 12:02:01,374 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-15 12:02:01,374 INFO L290 TraceCheckUtils]: 10: Hoare triple {6319#(<= 5 ~n~0)} assume !(~i~1 >= 0); {6319#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:01,375 INFO L272 TraceCheckUtils]: 11: Hoare triple {6319#(<= 5 ~n~0)} call SelectionSort(); {6351#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:01,375 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-15 12:02:01,375 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-15 12:02:01,375 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-15 12:02:01,376 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-15 12:02:01,376 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-15 12:02:01,376 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-15 12:02:01,376 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-15 12:02:01,377 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-15 12:02:01,377 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-15 12:02:01,377 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-15 12:02:01,377 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-15 12:02:01,378 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-15 12:02:01,378 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-15 12:02:01,378 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-15 12:02:01,378 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-15 12:02:01,379 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-15 12:02:01,379 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-15 12:02:01,379 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-15 12:02:01,380 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-15 12:02:01,380 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-15 12:02:01,380 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-15 12:02:01,381 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-15 12:02:01,381 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-15 12:02:01,381 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-15 12:02:01,382 INFO L290 TraceCheckUtils]: 36: Hoare triple {6356#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-15 12:02:01,382 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-15 12:02:01,382 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-15 12:02:01,382 INFO L290 TraceCheckUtils]: 39: Hoare triple {6357#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {6357#(<= ~n~0 4)} is VALID [2022-04-15 12:02:01,383 INFO L290 TraceCheckUtils]: 40: Hoare triple {6357#(<= ~n~0 4)} assume true; {6357#(<= ~n~0 4)} is VALID [2022-04-15 12:02:01,383 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6357#(<= ~n~0 4)} {6319#(<= 5 ~n~0)} #91#return; {6315#false} is VALID [2022-04-15 12:02:01,383 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-15 12:02:01,383 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-15 12:02:01,383 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-15 12:02:01,383 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-15 12:02:01,383 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-15 12:02:01,383 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-15 12:02:01,384 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-15 12:02:01,384 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:01,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1441672458] [2022-04-15 12:02:01,385 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1441672458] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:01,385 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [267597852] [2022-04-15 12:02:01,385 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:02:01,385 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:01,385 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:01,386 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-15 12:02:01,387 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-15 12:02:01,443 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:02:01,443 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:01,444 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 12:02:01,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:01,456 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:01,712 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6314#true} is VALID [2022-04-15 12:02:01,712 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-15 12:02:01,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {6314#true} assume true; {6314#true} is VALID [2022-04-15 12:02:01,712 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6314#true} {6314#true} #95#return; {6314#true} is VALID [2022-04-15 12:02:01,712 INFO L272 TraceCheckUtils]: 4: Hoare triple {6314#true} call #t~ret10 := main(); {6314#true} is VALID [2022-04-15 12:02:01,712 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-15 12:02:01,712 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-15 12:02:01,712 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-15 12:02:01,712 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-15 12:02:01,712 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-15 12:02:01,713 INFO L290 TraceCheckUtils]: 10: Hoare triple {6314#true} assume !(~i~1 >= 0); {6314#true} is VALID [2022-04-15 12:02:01,713 INFO L272 TraceCheckUtils]: 11: Hoare triple {6314#true} call SelectionSort(); {6314#true} is VALID [2022-04-15 12:02:01,713 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-15 12:02:01,715 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-15 12:02:01,716 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-15 12:02:01,716 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-15 12:02:01,717 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-15 12:02:01,717 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-15 12:02:01,717 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-15 12:02:01,718 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-15 12:02:01,718 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-15 12:02:01,718 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-15 12:02:01,719 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-15 12:02:01,719 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-15 12:02:01,720 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-15 12:02:01,720 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-15 12:02:01,720 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-15 12:02:01,721 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-15 12:02:01,721 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-15 12:02:01,722 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-15 12:02:01,722 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-15 12:02:01,722 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-15 12:02:01,723 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-15 12:02:01,723 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-15 12:02:01,723 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-15 12:02:01,724 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-15 12:02:01,724 INFO L290 TraceCheckUtils]: 36: Hoare triple {6474#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {6315#false} is VALID [2022-04-15 12:02:01,724 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-15 12:02:01,724 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-15 12:02:01,724 INFO L290 TraceCheckUtils]: 39: Hoare triple {6315#false} assume !(~lh~0 < ~n~0); {6315#false} is VALID [2022-04-15 12:02:01,725 INFO L290 TraceCheckUtils]: 40: Hoare triple {6315#false} assume true; {6315#false} is VALID [2022-04-15 12:02:01,725 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6315#false} {6314#true} #91#return; {6315#false} is VALID [2022-04-15 12:02:01,725 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-15 12:02:01,725 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-15 12:02:01,725 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-15 12:02:01,725 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-15 12:02:01,725 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-15 12:02:01,725 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-15 12:02:01,726 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-15 12:02:01,726 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:01,969 INFO L290 TraceCheckUtils]: 47: Hoare triple {6315#false} assume !false; {6315#false} is VALID [2022-04-15 12:02:01,970 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#false} assume 0 == ~cond; {6315#false} is VALID [2022-04-15 12:02:01,970 INFO L290 TraceCheckUtils]: 45: Hoare triple {6315#false} ~cond := #in~cond; {6315#false} is VALID [2022-04-15 12:02:01,970 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-15 12:02:01,970 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-15 12:02:01,970 INFO L290 TraceCheckUtils]: 42: Hoare triple {6315#false} ~i~1 := 0; {6315#false} is VALID [2022-04-15 12:02:01,970 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6315#false} {6314#true} #91#return; {6315#false} is VALID [2022-04-15 12:02:01,970 INFO L290 TraceCheckUtils]: 40: Hoare triple {6315#false} assume true; {6315#false} is VALID [2022-04-15 12:02:01,970 INFO L290 TraceCheckUtils]: 39: Hoare triple {6315#false} assume !(~lh~0 < ~n~0); {6315#false} is VALID [2022-04-15 12:02:01,970 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-15 12:02:01,970 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-15 12:02:01,971 INFO L290 TraceCheckUtils]: 36: Hoare triple {6474#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {6315#false} is VALID [2022-04-15 12:02:01,971 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-15 12:02:01,971 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-15 12:02:01,972 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-15 12:02:01,972 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-15 12:02:01,972 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-15 12:02:01,973 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-15 12:02:01,973 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-15 12:02:01,974 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-15 12:02:01,974 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-15 12:02:01,974 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-15 12:02:01,975 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-15 12:02:01,975 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-15 12:02:01,976 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-15 12:02:01,976 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-15 12:02:01,976 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-15 12:02:01,977 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-15 12:02:01,977 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-15 12:02:01,977 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-15 12:02:01,978 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-15 12:02:01,978 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-15 12:02:01,978 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-15 12:02:01,980 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-15 12:02:01,980 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-15 12:02:01,980 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-15 12:02:01,980 INFO L272 TraceCheckUtils]: 11: Hoare triple {6314#true} call SelectionSort(); {6314#true} is VALID [2022-04-15 12:02:01,980 INFO L290 TraceCheckUtils]: 10: Hoare triple {6314#true} assume !(~i~1 >= 0); {6314#true} is VALID [2022-04-15 12:02:01,980 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-15 12:02:01,980 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-15 12:02:01,980 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-15 12:02:01,981 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-15 12:02:01,981 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-15 12:02:01,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {6314#true} call #t~ret10 := main(); {6314#true} is VALID [2022-04-15 12:02:01,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6314#true} {6314#true} #95#return; {6314#true} is VALID [2022-04-15 12:02:01,981 INFO L290 TraceCheckUtils]: 2: Hoare triple {6314#true} assume true; {6314#true} is VALID [2022-04-15 12:02:01,981 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-15 12:02:01,981 INFO L272 TraceCheckUtils]: 0: Hoare triple {6314#true} call ULTIMATE.init(); {6314#true} is VALID [2022-04-15 12:02:01,981 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-15 12:02:01,981 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [267597852] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:01,981 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:01,981 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-15 12:02:01,982 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:01,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [587314084] [2022-04-15 12:02:01,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [587314084] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:01,982 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:01,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 12:02:01,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [183644593] [2022-04-15 12:02:01,982 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:01,982 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-15 12:02:01,982 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:01,983 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-15 12:02:02,009 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-15 12:02:02,009 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 12:02:02,010 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:02,010 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 12:02:02,010 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2022-04-15 12:02:02,010 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-15 12:02:02,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:02,768 INFO L93 Difference]: Finished difference Result 90 states and 110 transitions. [2022-04-15 12:02:02,768 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 12:02:02,768 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-15 12:02:02,768 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:02,768 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-15 12:02:02,770 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 97 transitions. [2022-04-15 12:02:02,770 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-15 12:02:02,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 97 transitions. [2022-04-15 12:02:02,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 97 transitions. [2022-04-15 12:02:02,857 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-15 12:02:02,858 INFO L225 Difference]: With dead ends: 90 [2022-04-15 12:02:02,858 INFO L226 Difference]: Without dead ends: 67 [2022-04-15 12:02:02,858 INFO L912 BasicCegarLoop]: 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-15 12:02:02,859 INFO L913 BasicCegarLoop]: 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-15 12:02:02,859 INFO L914 BasicCegarLoop]: 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-15 12:02:02,860 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-15 12:02:02,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 60. [2022-04-15 12:02:02,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:02,994 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-15 12:02:02,994 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-15 12:02:02,994 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-15 12:02:02,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:02,995 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-15 12:02:02,995 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-15 12:02:02,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:02,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:02,996 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-15 12:02:02,996 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-15 12:02:02,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:02,997 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-15 12:02:02,997 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-15 12:02:02,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:02,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:02,997 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:02,997 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:03,000 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-15 12:02:03,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2022-04-15 12:02:03,001 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 48 [2022-04-15 12:02:03,002 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:03,002 INFO L478 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2022-04-15 12:02:03,002 INFO L479 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-15 12:02:03,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 60 states and 72 transitions. [2022-04-15 12:02:03,098 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-15 12:02:03,098 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2022-04-15 12:02:03,099 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 12:02:03,099 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:03,099 INFO L499 BasicCegarLoop]: 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-15 12:02:03,122 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-15 12:02:03,299 WARN L460 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-15 12:02:03,299 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:03,300 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:03,300 INFO L85 PathProgramCache]: Analyzing trace with hash 670604008, now seen corresponding path program 17 times [2022-04-15 12:02:03,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:03,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [253576660] [2022-04-15 12:02:03,303 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:03,303 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:03,303 INFO L85 PathProgramCache]: Analyzing trace with hash 670604008, now seen corresponding path program 18 times [2022-04-15 12:02:03,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:03,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [890013784] [2022-04-15 12:02:03,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:03,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:03,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:03,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:03,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:03,357 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-15 12:02:03,358 INFO L290 TraceCheckUtils]: 1: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,358 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,361 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:02:03,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:03,404 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-15 12:02:03,405 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-15 12:02:03,405 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-15 12:02:03,406 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-15 12:02:03,406 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-15 12:02:03,406 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-15 12:02:03,406 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-15 12:02:03,407 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-15 12:02:03,407 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-15 12:02:03,407 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-15 12:02:03,408 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-15 12:02:03,408 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-15 12:02:03,408 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-15 12:02:03,409 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-15 12:02:03,409 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-15 12:02:03,409 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-15 12:02:03,410 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-15 12:02:03,410 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-15 12:02:03,410 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-15 12:02:03,410 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-15 12:02:03,411 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-15 12:02:03,411 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-15 12:02:03,411 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-15 12:02:03,412 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-15 12:02:03,412 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-15 12:02:03,412 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-15 12:02:03,430 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-15 12:02:03,431 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-15 12:02:03,431 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-15 12:02:03,431 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-15 12:02:03,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {7157#(<= SelectionSort_~lh~0 2)} assume !(~lh~0 < ~n~0); {7158#(<= ~n~0 2)} is VALID [2022-04-15 12:02:03,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-15 12:02:03,433 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7158#(<= ~n~0 2)} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-15 12:02:03,434 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-15 12:02:03,435 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-15 12:02:03,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,435 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {7119#(<= 5 ~n~0)} call #t~ret10 := main(); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,436 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-15 12:02:03,437 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-15 12:02:03,437 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-15 12:02:03,438 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-15 12:02:03,438 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-15 12:02:03,438 INFO L290 TraceCheckUtils]: 10: Hoare triple {7119#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,439 INFO L272 TraceCheckUtils]: 11: Hoare triple {7119#(<= 5 ~n~0)} call SelectionSort(); {7154#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:03,439 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-15 12:02:03,439 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-15 12:02:03,440 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-15 12:02:03,440 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-15 12:02:03,440 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-15 12:02:03,440 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-15 12:02:03,441 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-15 12:02:03,441 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-15 12:02:03,441 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-15 12:02:03,442 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-15 12:02:03,442 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-15 12:02:03,442 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-15 12:02:03,443 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-15 12:02:03,443 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-15 12:02:03,443 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-15 12:02:03,443 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-15 12:02:03,444 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-15 12:02:03,444 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-15 12:02:03,445 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-15 12:02:03,445 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-15 12:02:03,445 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-15 12:02:03,445 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-15 12:02:03,446 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-15 12:02:03,446 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-15 12:02:03,446 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-15 12:02:03,447 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-15 12:02:03,447 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-15 12:02:03,447 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-15 12:02:03,447 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-15 12:02:03,448 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-15 12:02:03,458 INFO L290 TraceCheckUtils]: 42: Hoare triple {7157#(<= SelectionSort_~lh~0 2)} assume !(~lh~0 < ~n~0); {7158#(<= ~n~0 2)} is VALID [2022-04-15 12:02:03,459 INFO L290 TraceCheckUtils]: 43: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-15 12:02:03,459 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7158#(<= ~n~0 2)} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-15 12:02:03,459 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-15 12:02:03,460 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-15 12:02:03,460 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-15 12:02:03,460 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-15 12:02:03,460 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-15 12:02:03,460 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-15 12:02:03,460 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-15 12:02:03,460 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:03,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [890013784] [2022-04-15 12:02:03,461 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [890013784] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:03,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1396836997] [2022-04-15 12:02:03,461 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:02:03,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:03,461 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:03,470 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-15 12:02:03,472 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-15 12:02:03,538 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 12:02:03,539 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:03,540 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 12:02:03,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:03,554 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:03,870 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7114#true} is VALID [2022-04-15 12:02:03,871 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-15 12:02:03,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {7119#(<= 5 ~n~0)} assume true; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7119#(<= 5 ~n~0)} {7114#true} #95#return; {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,872 INFO L272 TraceCheckUtils]: 4: Hoare triple {7119#(<= 5 ~n~0)} call #t~ret10 := main(); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,872 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-15 12:02:03,873 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-15 12:02:03,873 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-15 12:02:03,873 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-15 12:02:03,874 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-15 12:02:03,874 INFO L290 TraceCheckUtils]: 10: Hoare triple {7119#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,874 INFO L272 TraceCheckUtils]: 11: Hoare triple {7119#(<= 5 ~n~0)} call SelectionSort(); {7119#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:03,875 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-15 12:02:03,875 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-15 12:02:03,876 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-15 12:02:03,876 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-15 12:02:03,876 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-15 12:02:03,877 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-15 12:02:03,877 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-15 12:02:03,877 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-15 12:02:03,878 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-15 12:02:03,878 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-15 12:02:03,879 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-15 12:02:03,879 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-15 12:02:03,879 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-15 12:02:03,880 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-15 12:02:03,880 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-15 12:02:03,881 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-15 12:02:03,881 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-15 12:02:03,882 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-15 12:02:03,882 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-15 12:02:03,883 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-15 12:02:03,883 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-15 12:02:03,883 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-15 12:02:03,884 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-15 12:02:03,884 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-15 12:02:03,884 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-15 12:02:03,885 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-15 12:02:03,885 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-15 12:02:03,886 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-15 12:02:03,886 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-15 12:02:03,887 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-15 12:02:03,887 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-15 12:02:03,887 INFO L290 TraceCheckUtils]: 43: Hoare triple {7115#false} assume true; {7115#false} is VALID [2022-04-15 12:02:03,887 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7115#false} {7119#(<= 5 ~n~0)} #91#return; {7115#false} is VALID [2022-04-15 12:02:03,887 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-15 12:02:03,887 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-15 12:02:03,887 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-15 12:02:03,887 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-15 12:02:03,888 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-15 12:02:03,888 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-15 12:02:03,888 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-15 12:02:03,888 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:04,361 INFO L290 TraceCheckUtils]: 50: Hoare triple {7115#false} assume !false; {7115#false} is VALID [2022-04-15 12:02:04,361 INFO L290 TraceCheckUtils]: 49: Hoare triple {7115#false} assume 0 == ~cond; {7115#false} is VALID [2022-04-15 12:02:04,362 INFO L290 TraceCheckUtils]: 48: Hoare triple {7115#false} ~cond := #in~cond; {7115#false} is VALID [2022-04-15 12:02:04,362 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-15 12:02:04,362 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-15 12:02:04,362 INFO L290 TraceCheckUtils]: 45: Hoare triple {7115#false} ~i~1 := 0; {7115#false} is VALID [2022-04-15 12:02:04,362 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7158#(<= ~n~0 2)} {7333#(< 2 ~n~0)} #91#return; {7115#false} is VALID [2022-04-15 12:02:04,363 INFO L290 TraceCheckUtils]: 43: Hoare triple {7158#(<= ~n~0 2)} assume true; {7158#(<= ~n~0 2)} is VALID [2022-04-15 12:02:04,363 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-15 12:02:04,363 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-15 12:02:04,364 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-15 12:02:04,364 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-15 12:02:04,364 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-15 12:02:04,365 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-15 12:02:04,365 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-15 12:02:04,365 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-15 12:02:04,366 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-15 12:02:04,366 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-15 12:02:04,366 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-15 12:02:04,366 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-15 12:02:04,367 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-15 12:02:04,367 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-15 12:02:04,368 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-15 12:02:04,368 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-15 12:02:04,369 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-15 12:02:04,369 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-15 12:02:04,369 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-15 12:02:04,370 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-15 12:02:04,370 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-15 12:02:04,370 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-15 12:02:04,371 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-15 12:02:04,371 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-15 12:02:04,372 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-15 12:02:04,372 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-15 12:02:04,372 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-15 12:02:04,373 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-15 12:02:04,373 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-15 12:02:04,374 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-15 12:02:04,374 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-15 12:02:04,374 INFO L272 TraceCheckUtils]: 11: Hoare triple {7333#(< 2 ~n~0)} call SelectionSort(); {7114#true} is VALID [2022-04-15 12:02:04,374 INFO L290 TraceCheckUtils]: 10: Hoare triple {7333#(< 2 ~n~0)} assume !(~i~1 >= 0); {7333#(< 2 ~n~0)} is VALID [2022-04-15 12:02:04,375 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-15 12:02:04,375 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-15 12:02:04,375 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-15 12:02:04,376 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-15 12:02:04,376 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-15 12:02:04,376 INFO L272 TraceCheckUtils]: 4: Hoare triple {7333#(< 2 ~n~0)} call #t~ret10 := main(); {7333#(< 2 ~n~0)} is VALID [2022-04-15 12:02:04,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7333#(< 2 ~n~0)} {7114#true} #95#return; {7333#(< 2 ~n~0)} is VALID [2022-04-15 12:02:04,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {7333#(< 2 ~n~0)} assume true; {7333#(< 2 ~n~0)} is VALID [2022-04-15 12:02:04,377 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-15 12:02:04,378 INFO L272 TraceCheckUtils]: 0: Hoare triple {7114#true} call ULTIMATE.init(); {7114#true} is VALID [2022-04-15 12:02:04,378 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-15 12:02:04,378 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1396836997] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:04,378 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:04,378 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 7] total 16 [2022-04-15 12:02:04,378 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:04,378 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [253576660] [2022-04-15 12:02:04,378 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [253576660] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:04,379 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:04,379 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 12:02:04,379 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2050797461] [2022-04-15 12:02:04,379 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:04,379 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-15 12:02:04,379 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:04,379 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-15 12:02:04,404 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-15 12:02:04,404 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 12:02:04,404 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:04,405 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 12:02:04,405 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=171, Unknown=0, NotChecked=0, Total=240 [2022-04-15 12:02:04,405 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-15 12:02:04,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:04,981 INFO L93 Difference]: Finished difference Result 87 states and 105 transitions. [2022-04-15 12:02:04,981 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 12:02:04,981 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-15 12:02:04,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:04,982 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-15 12:02:04,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-15 12:02:04,983 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-15 12:02:04,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 72 transitions. [2022-04-15 12:02:04,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 72 transitions. [2022-04-15 12:02:05,048 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-15 12:02:05,049 INFO L225 Difference]: With dead ends: 87 [2022-04-15 12:02:05,049 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 12:02:05,049 INFO L912 BasicCegarLoop]: 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-15 12:02:05,050 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 118 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 155 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-15 12:02:05,050 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [118 Valid, 31 Invalid, 180 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 155 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 12:02:05,050 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 12:02:05,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 66. [2022-04-15 12:02:05,172 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:05,172 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-15 12:02:05,173 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-15 12:02:05,173 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-15 12:02:05,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:05,174 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-15 12:02:05,174 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-15 12:02:05,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:05,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:05,174 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-15 12:02:05,174 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-15 12:02:05,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:05,175 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-15 12:02:05,175 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-15 12:02:05,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:05,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:05,176 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:05,176 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:05,176 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-15 12:02:05,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 80 transitions. [2022-04-15 12:02:05,177 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 80 transitions. Word has length 51 [2022-04-15 12:02:05,177 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:05,177 INFO L478 AbstractCegarLoop]: Abstraction has 66 states and 80 transitions. [2022-04-15 12:02:05,177 INFO L479 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-15 12:02:05,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 80 transitions. [2022-04-15 12:02:05,294 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-15 12:02:05,295 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-15 12:02:05,295 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 12:02:05,295 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:05,295 INFO L499 BasicCegarLoop]: 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-15 12:02:05,317 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-15 12:02:05,496 WARN L460 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-15 12:02:05,496 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:05,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:05,496 INFO L85 PathProgramCache]: Analyzing trace with hash -862659328, now seen corresponding path program 19 times [2022-04-15 12:02:05,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:05,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [667728541] [2022-04-15 12:02:05,498 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:05,498 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:05,498 INFO L85 PathProgramCache]: Analyzing trace with hash -862659328, now seen corresponding path program 20 times [2022-04-15 12:02:05,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:05,499 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [765993176] [2022-04-15 12:02:05,499 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:05,499 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:05,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:05,538 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:05,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:05,546 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-15 12:02:05,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {7946#(<= 5 ~n~0)} assume true; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:05,547 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7946#(<= 5 ~n~0)} {7941#true} #95#return; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:05,550 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:02:05,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:05,611 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-15 12:02:05,611 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-15 12:02:05,611 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-15 12:02:05,612 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-15 12:02:05,612 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-15 12:02:05,612 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-15 12:02:05,613 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-15 12:02:05,613 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-15 12:02:05,613 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-15 12:02:05,614 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-15 12:02:05,614 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-15 12:02:05,614 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-15 12:02:05,615 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-15 12:02:05,615 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-15 12:02:05,615 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-15 12:02:05,615 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-15 12:02:05,616 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-15 12:02:05,616 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-15 12:02:05,617 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-15 12:02:05,617 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-15 12:02:05,617 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-15 12:02:05,617 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-15 12:02:05,618 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-15 12:02:05,618 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-15 12:02:05,618 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-15 12:02:05,619 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-15 12:02:05,619 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-15 12:02:05,619 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-15 12:02:05,620 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-15 12:02:05,620 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-15 12:02:05,621 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-15 12:02:05,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {7989#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-15 12:02:05,621 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-15 12:02:05,622 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-15 12:02:05,622 INFO L290 TraceCheckUtils]: 34: Hoare triple {7990#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-15 12:02:05,622 INFO L290 TraceCheckUtils]: 35: Hoare triple {7990#(<= ~n~0 3)} assume true; {7990#(<= ~n~0 3)} is VALID [2022-04-15 12:02:05,628 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7990#(<= ~n~0 3)} {7946#(<= 5 ~n~0)} #91#return; {7942#false} is VALID [2022-04-15 12:02:05,629 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-15 12:02:05,630 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-15 12:02:05,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {7946#(<= 5 ~n~0)} assume true; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:05,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7946#(<= 5 ~n~0)} {7941#true} #95#return; {7946#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:05,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {7946#(<= 5 ~n~0)} call #t~ret10 := main(); {7946#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:05,631 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-15 12:02:05,632 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-15 12:02:05,632 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-15 12:02:05,632 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-15 12:02:05,633 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-15 12:02:05,633 INFO L290 TraceCheckUtils]: 10: Hoare triple {7946#(<= 5 ~n~0)} assume !(~i~1 >= 0); {7946#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:05,633 INFO L272 TraceCheckUtils]: 11: Hoare triple {7946#(<= 5 ~n~0)} call SelectionSort(); {7985#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:05,634 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-15 12:02:05,634 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-15 12:02:05,634 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-15 12:02:05,634 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-15 12:02:05,635 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-15 12:02:05,635 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-15 12:02:05,635 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-15 12:02:05,636 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-15 12:02:05,636 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-15 12:02:05,637 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-15 12:02:05,637 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-15 12:02:05,638 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-15 12:02:05,638 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-15 12:02:05,638 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-15 12:02:05,638 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-15 12:02:05,639 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-15 12:02:05,639 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-15 12:02:05,639 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-15 12:02:05,640 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-15 12:02:05,640 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-15 12:02:05,640 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-15 12:02:05,641 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-15 12:02:05,641 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-15 12:02:05,641 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-15 12:02:05,641 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-15 12:02:05,642 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-15 12:02:05,642 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-15 12:02:05,642 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-15 12:02:05,643 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-15 12:02:05,643 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-15 12:02:05,644 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-15 12:02:05,644 INFO L290 TraceCheckUtils]: 43: Hoare triple {7989#(<= SelectionSort_~i~0 3)} assume !(~i~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-15 12:02:05,644 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-15 12:02:05,645 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-15 12:02:05,645 INFO L290 TraceCheckUtils]: 46: Hoare triple {7990#(<= ~n~0 3)} assume !(~lh~0 < ~n~0); {7990#(<= ~n~0 3)} is VALID [2022-04-15 12:02:05,645 INFO L290 TraceCheckUtils]: 47: Hoare triple {7990#(<= ~n~0 3)} assume true; {7990#(<= ~n~0 3)} is VALID [2022-04-15 12:02:05,646 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7990#(<= ~n~0 3)} {7946#(<= 5 ~n~0)} #91#return; {7942#false} is VALID [2022-04-15 12:02:05,646 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-15 12:02:05,646 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-15 12:02:05,646 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-15 12:02:05,646 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-15 12:02:05,646 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-15 12:02:05,646 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-15 12:02:05,647 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-15 12:02:05,647 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:05,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [765993176] [2022-04-15 12:02:05,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [765993176] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:05,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1236422062] [2022-04-15 12:02:05,647 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:02:05,647 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:05,648 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:05,659 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-15 12:02:05,671 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-15 12:02:05,736 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:02:05,736 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:05,737 INFO L263 TraceCheckSpWp]: Trace formula consists of 240 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 12:02:05,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:05,750 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:05,874 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7941#true} is VALID [2022-04-15 12:02:05,875 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-15 12:02:05,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-15 12:02:05,875 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7941#true} {7941#true} #95#return; {7941#true} is VALID [2022-04-15 12:02:05,875 INFO L272 TraceCheckUtils]: 4: Hoare triple {7941#true} call #t~ret10 := main(); {7941#true} is VALID [2022-04-15 12:02:05,875 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-15 12:02:05,876 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-15 12:02:05,876 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-15 12:02:05,877 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-15 12:02:05,877 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-15 12:02:05,877 INFO L290 TraceCheckUtils]: 10: Hoare triple {8023#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {7942#false} is VALID [2022-04-15 12:02:05,877 INFO L272 TraceCheckUtils]: 11: Hoare triple {7942#false} call SelectionSort(); {7942#false} is VALID [2022-04-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,878 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-15 12:02:05,879 INFO L290 TraceCheckUtils]: 26: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 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-15 12:02:05,879 INFO L290 TraceCheckUtils]: 39: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-15 12:02:05,880 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-15 12:02:05,880 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-15 12:02:05,880 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-15 12:02:05,880 INFO L290 TraceCheckUtils]: 43: Hoare triple {7942#false} assume !(~i~0 < ~n~0); {7942#false} is VALID [2022-04-15 12:02:05,880 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-15 12:02:05,880 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-15 12:02:05,880 INFO L290 TraceCheckUtils]: 46: Hoare triple {7942#false} assume !(~lh~0 < ~n~0); {7942#false} is VALID [2022-04-15 12:02:05,880 INFO L290 TraceCheckUtils]: 47: Hoare triple {7942#false} assume true; {7942#false} is VALID [2022-04-15 12:02:05,880 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7942#false} {7942#false} #91#return; {7942#false} is VALID [2022-04-15 12:02:05,880 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-15 12:02:05,880 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-15 12:02:05,880 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-15 12:02:05,880 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-15 12:02:05,881 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-15 12:02:05,881 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-15 12:02:05,881 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-15 12:02:05,881 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:06,006 INFO L290 TraceCheckUtils]: 54: Hoare triple {7942#false} assume !false; {7942#false} is VALID [2022-04-15 12:02:06,007 INFO L290 TraceCheckUtils]: 53: Hoare triple {7942#false} assume 0 == ~cond; {7942#false} is VALID [2022-04-15 12:02:06,007 INFO L290 TraceCheckUtils]: 52: Hoare triple {7942#false} ~cond := #in~cond; {7942#false} is VALID [2022-04-15 12:02:06,007 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-15 12:02:06,007 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-15 12:02:06,007 INFO L290 TraceCheckUtils]: 49: Hoare triple {7942#false} ~i~1 := 0; {7942#false} is VALID [2022-04-15 12:02:06,007 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {7941#true} {7942#false} #91#return; {7942#false} is VALID [2022-04-15 12:02:06,007 INFO L290 TraceCheckUtils]: 47: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-15 12:02:06,007 INFO L290 TraceCheckUtils]: 46: Hoare triple {7941#true} assume !(~lh~0 < ~n~0); {7941#true} is VALID [2022-04-15 12:02:06,007 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-15 12:02:06,007 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-15 12:02:06,007 INFO L290 TraceCheckUtils]: 43: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-15 12:02:06,008 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-15 12:02:06,008 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-15 12:02:06,008 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-15 12:02:06,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-15 12:02:06,008 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-15 12:02:06,008 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-15 12:02:06,008 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-15 12:02:06,008 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-15 12:02:06,008 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-15 12:02:06,008 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-15 12:02:06,008 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-15 12:02:06,008 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-15 12:02:06,008 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-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,009 INFO L290 TraceCheckUtils]: 26: Hoare triple {7941#true} assume !(~i~0 < ~n~0); {7941#true} is VALID [2022-04-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,009 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-15 12:02:06,010 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-15 12:02:06,010 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-15 12:02:06,010 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-15 12:02:06,010 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-15 12:02:06,010 INFO L272 TraceCheckUtils]: 11: Hoare triple {7942#false} call SelectionSort(); {7941#true} is VALID [2022-04-15 12:02:06,011 INFO L290 TraceCheckUtils]: 10: Hoare triple {8291#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {7942#false} is VALID [2022-04-15 12:02:06,012 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-15 12:02:06,012 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-15 12:02:06,012 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-15 12:02:06,013 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-15 12:02:06,013 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-15 12:02:06,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {7941#true} call #t~ret10 := main(); {7941#true} is VALID [2022-04-15 12:02:06,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7941#true} {7941#true} #95#return; {7941#true} is VALID [2022-04-15 12:02:06,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {7941#true} assume true; {7941#true} is VALID [2022-04-15 12:02:06,013 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-15 12:02:06,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {7941#true} call ULTIMATE.init(); {7941#true} is VALID [2022-04-15 12:02:06,014 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-15 12:02:06,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1236422062] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:06,014 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:06,014 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-15 12:02:06,014 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:06,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [667728541] [2022-04-15 12:02:06,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [667728541] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:06,014 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:06,014 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 12:02:06,014 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1750245569] [2022-04-15 12:02:06,014 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:06,015 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-15 12:02:06,015 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:06,015 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-15 12:02:06,043 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-15 12:02:06,043 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 12:02:06,043 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:06,043 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 12:02:06,044 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-15 12:02:06,044 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-15 12:02:06,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:06,737 INFO L93 Difference]: Finished difference Result 90 states and 108 transitions. [2022-04-15 12:02:06,737 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 12:02:06,737 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-15 12:02:06,737 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:06,738 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-15 12:02:06,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2022-04-15 12:02:06,738 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-15 12:02:06,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 87 transitions. [2022-04-15 12:02:06,739 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 87 transitions. [2022-04-15 12:02:06,821 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-15 12:02:06,822 INFO L225 Difference]: With dead ends: 90 [2022-04-15 12:02:06,822 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 12:02:06,822 INFO L912 BasicCegarLoop]: 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-15 12:02:06,822 INFO L913 BasicCegarLoop]: 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-15 12:02:06,823 INFO L914 BasicCegarLoop]: 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-15 12:02:06,823 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 12:02:06,934 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 67. [2022-04-15 12:02:06,934 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:06,934 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-15 12:02:06,934 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-15 12:02:06,935 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-15 12:02:06,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:06,936 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-15 12:02:06,936 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-15 12:02:06,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:06,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:06,936 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-15 12:02:06,937 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-15 12:02:06,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:06,938 INFO L93 Difference]: Finished difference Result 74 states and 91 transitions. [2022-04-15 12:02:06,938 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 91 transitions. [2022-04-15 12:02:06,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:06,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:06,938 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:06,938 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:06,939 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-15 12:02:06,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 81 transitions. [2022-04-15 12:02:06,940 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 81 transitions. Word has length 55 [2022-04-15 12:02:06,940 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:06,940 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 81 transitions. [2022-04-15 12:02:06,940 INFO L479 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-15 12:02:06,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 81 transitions. [2022-04-15 12:02:07,056 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-15 12:02:07,057 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 81 transitions. [2022-04-15 12:02:07,057 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 12:02:07,057 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:07,057 INFO L499 BasicCegarLoop]: 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-15 12:02:07,080 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Ended with exit code 0 [2022-04-15 12:02:07,258 WARN L460 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-15 12:02:07,258 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:07,258 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:07,259 INFO L85 PathProgramCache]: Analyzing trace with hash -804107836, now seen corresponding path program 21 times [2022-04-15 12:02:07,259 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:07,259 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1880850366] [2022-04-15 12:02:07,261 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:07,261 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:07,261 INFO L85 PathProgramCache]: Analyzing trace with hash -804107836, now seen corresponding path program 22 times [2022-04-15 12:02:07,261 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:07,261 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2118758032] [2022-04-15 12:02:07,261 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:07,261 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:07,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:07,320 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:07,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:07,327 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-15 12:02:07,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {8814#(<= 5 ~n~0)} assume true; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:07,327 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8814#(<= 5 ~n~0)} {8809#true} #95#return; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:07,330 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:02:07,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:07,386 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-15 12:02:07,387 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-15 12:02:07,387 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-15 12:02:07,388 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-15 12:02:07,388 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-15 12:02:07,388 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-15 12:02:07,388 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-15 12:02:07,389 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-15 12:02:07,389 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-15 12:02:07,389 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-15 12:02:07,390 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-15 12:02:07,391 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-15 12:02:07,391 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-15 12:02:07,392 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-15 12:02:07,392 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-15 12:02:07,392 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-15 12:02:07,393 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-15 12:02:07,393 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-15 12:02:07,394 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-15 12:02:07,394 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-15 12:02:07,394 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-15 12:02:07,394 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-15 12:02:07,395 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-15 12:02:07,395 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-15 12:02:07,395 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-15 12:02:07,396 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-15 12:02:07,396 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-15 12:02:07,396 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-15 12:02:07,397 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-15 12:02:07,397 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-15 12:02:07,398 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-15 12:02:07,398 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-15 12:02:07,398 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-15 12:02:07,399 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-15 12:02:07,399 INFO L290 TraceCheckUtils]: 34: Hoare triple {8861#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-15 12:02:07,399 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-15 12:02:07,400 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-15 12:02:07,400 INFO L290 TraceCheckUtils]: 37: Hoare triple {8862#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-15 12:02:07,400 INFO L290 TraceCheckUtils]: 38: Hoare triple {8862#(<= ~n~0 4)} assume true; {8862#(<= ~n~0 4)} is VALID [2022-04-15 12:02:07,401 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8862#(<= ~n~0 4)} {8814#(<= 5 ~n~0)} #91#return; {8810#false} is VALID [2022-04-15 12:02:07,401 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-15 12:02:07,402 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-15 12:02:07,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {8814#(<= 5 ~n~0)} assume true; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:07,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8814#(<= 5 ~n~0)} {8809#true} #95#return; {8814#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:07,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {8814#(<= 5 ~n~0)} call #t~ret10 := main(); {8814#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:07,403 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-15 12:02:07,404 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-15 12:02:07,404 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-15 12:02:07,404 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-15 12:02:07,404 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-15 12:02:07,405 INFO L290 TraceCheckUtils]: 10: Hoare triple {8814#(<= 5 ~n~0)} assume !(~i~1 >= 0); {8814#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:07,405 INFO L272 TraceCheckUtils]: 11: Hoare triple {8814#(<= 5 ~n~0)} call SelectionSort(); {8856#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:07,410 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-15 12:02:07,411 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-15 12:02:07,411 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-15 12:02:07,411 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-15 12:02:07,412 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-15 12:02:07,412 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-15 12:02:07,412 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-15 12:02:07,413 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-15 12:02:07,413 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-15 12:02:07,413 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-15 12:02:07,414 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-15 12:02:07,414 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-15 12:02:07,414 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-15 12:02:07,415 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-15 12:02:07,415 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-15 12:02:07,415 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-15 12:02:07,416 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-15 12:02:07,416 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-15 12:02:07,417 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-15 12:02:07,417 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-15 12:02:07,417 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-15 12:02:07,417 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-15 12:02:07,418 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-15 12:02:07,418 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-15 12:02:07,418 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-15 12:02:07,419 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-15 12:02:07,419 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-15 12:02:07,419 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-15 12:02:07,420 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-15 12:02:07,420 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-15 12:02:07,421 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-15 12:02:07,421 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-15 12:02:07,421 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-15 12:02:07,422 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-15 12:02:07,422 INFO L290 TraceCheckUtils]: 46: Hoare triple {8861#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-15 12:02:07,423 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-15 12:02:07,423 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-15 12:02:07,423 INFO L290 TraceCheckUtils]: 49: Hoare triple {8862#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {8862#(<= ~n~0 4)} is VALID [2022-04-15 12:02:07,424 INFO L290 TraceCheckUtils]: 50: Hoare triple {8862#(<= ~n~0 4)} assume true; {8862#(<= ~n~0 4)} is VALID [2022-04-15 12:02:07,424 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8862#(<= ~n~0 4)} {8814#(<= 5 ~n~0)} #91#return; {8810#false} is VALID [2022-04-15 12:02:07,424 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-15 12:02:07,424 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-15 12:02:07,424 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-15 12:02:07,424 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-15 12:02:07,424 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-15 12:02:07,425 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-15 12:02:07,425 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-15 12:02:07,425 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:07,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2118758032] [2022-04-15 12:02:07,425 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2118758032] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:07,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [237362134] [2022-04-15 12:02:07,425 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:02:07,426 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:07,426 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:07,435 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-15 12:02:07,435 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-15 12:02:07,508 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:02:07,508 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:07,509 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 12:02:07,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:07,524 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:07,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8809#true} is VALID [2022-04-15 12:02:07,838 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-15 12:02:07,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {8809#true} assume true; {8809#true} is VALID [2022-04-15 12:02:07,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8809#true} {8809#true} #95#return; {8809#true} is VALID [2022-04-15 12:02:07,839 INFO L272 TraceCheckUtils]: 4: Hoare triple {8809#true} call #t~ret10 := main(); {8809#true} is VALID [2022-04-15 12:02:07,839 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-15 12:02:07,839 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-15 12:02:07,839 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-15 12:02:07,839 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-15 12:02:07,839 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-15 12:02:07,839 INFO L290 TraceCheckUtils]: 10: Hoare triple {8809#true} assume !(~i~1 >= 0); {8809#true} is VALID [2022-04-15 12:02:07,839 INFO L272 TraceCheckUtils]: 11: Hoare triple {8809#true} call SelectionSort(); {8809#true} is VALID [2022-04-15 12:02:07,839 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-15 12:02:07,840 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-15 12:02:07,840 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-15 12:02:07,840 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-15 12:02:07,841 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-15 12:02:07,841 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-15 12:02:07,841 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-15 12:02:07,842 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-15 12:02:07,842 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-15 12:02:07,842 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-15 12:02:07,843 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-15 12:02:07,843 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-15 12:02:07,844 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-15 12:02:07,844 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-15 12:02:07,844 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-15 12:02:07,845 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-15 12:02:07,845 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-15 12:02:07,845 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-15 12:02:07,846 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-15 12:02:07,846 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-15 12:02:07,846 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-15 12:02:07,847 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-15 12:02:07,847 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-15 12:02:07,848 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-15 12:02:07,848 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-15 12:02:07,848 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-15 12:02:07,849 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-15 12:02:07,849 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-15 12:02:07,849 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-15 12:02:07,850 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-15 12:02:07,850 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-15 12:02:07,851 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-15 12:02:07,851 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-15 12:02:07,851 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-15 12:02:07,852 INFO L290 TraceCheckUtils]: 46: Hoare triple {9009#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {8810#false} is VALID [2022-04-15 12:02:07,852 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-15 12:02:07,852 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-15 12:02:07,852 INFO L290 TraceCheckUtils]: 49: Hoare triple {8810#false} assume !(~lh~0 < ~n~0); {8810#false} is VALID [2022-04-15 12:02:07,852 INFO L290 TraceCheckUtils]: 50: Hoare triple {8810#false} assume true; {8810#false} is VALID [2022-04-15 12:02:07,852 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8810#false} {8809#true} #91#return; {8810#false} is VALID [2022-04-15 12:02:07,852 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-15 12:02:07,852 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-15 12:02:07,852 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-15 12:02:07,853 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-15 12:02:07,853 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-15 12:02:07,853 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-15 12:02:07,853 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-15 12:02:07,853 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:08,088 INFO L290 TraceCheckUtils]: 57: Hoare triple {8810#false} assume !false; {8810#false} is VALID [2022-04-15 12:02:08,088 INFO L290 TraceCheckUtils]: 56: Hoare triple {8810#false} assume 0 == ~cond; {8810#false} is VALID [2022-04-15 12:02:08,088 INFO L290 TraceCheckUtils]: 55: Hoare triple {8810#false} ~cond := #in~cond; {8810#false} is VALID [2022-04-15 12:02:08,088 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-15 12:02:08,088 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-15 12:02:08,089 INFO L290 TraceCheckUtils]: 52: Hoare triple {8810#false} ~i~1 := 0; {8810#false} is VALID [2022-04-15 12:02:08,089 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8810#false} {8809#true} #91#return; {8810#false} is VALID [2022-04-15 12:02:08,089 INFO L290 TraceCheckUtils]: 50: Hoare triple {8810#false} assume true; {8810#false} is VALID [2022-04-15 12:02:08,089 INFO L290 TraceCheckUtils]: 49: Hoare triple {8810#false} assume !(~lh~0 < ~n~0); {8810#false} is VALID [2022-04-15 12:02:08,089 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-15 12:02:08,089 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-15 12:02:08,089 INFO L290 TraceCheckUtils]: 46: Hoare triple {9009#(< SelectionSort_~i~0 ~n~0)} assume !(~i~0 < ~n~0); {8810#false} is VALID [2022-04-15 12:02:08,090 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-15 12:02:08,090 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-15 12:02:08,090 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-15 12:02:08,091 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-15 12:02:08,091 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-15 12:02:08,092 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-15 12:02:08,092 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-15 12:02:08,092 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-15 12:02:08,093 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-15 12:02:08,093 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-15 12:02:08,093 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-15 12:02:08,093 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-15 12:02:08,094 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-15 12:02:08,094 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-15 12:02:08,094 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-15 12:02:08,095 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-15 12:02:08,095 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-15 12:02:08,095 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-15 12:02:08,096 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-15 12:02:08,096 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-15 12:02:08,096 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-15 12:02:08,096 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-15 12:02:08,097 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-15 12:02:08,098 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-15 12:02:08,098 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-15 12:02:08,098 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-15 12:02:08,099 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-15 12:02:08,099 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-15 12:02:08,099 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-15 12:02:08,100 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-15 12:02:08,100 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-15 12:02:08,100 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-15 12:02:08,101 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-15 12:02:08,101 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-15 12:02:08,101 INFO L272 TraceCheckUtils]: 11: Hoare triple {8809#true} call SelectionSort(); {8809#true} is VALID [2022-04-15 12:02:08,101 INFO L290 TraceCheckUtils]: 10: Hoare triple {8809#true} assume !(~i~1 >= 0); {8809#true} is VALID [2022-04-15 12:02:08,101 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-15 12:02:08,101 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-15 12:02:08,101 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-15 12:02:08,101 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-15 12:02:08,101 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-15 12:02:08,101 INFO L272 TraceCheckUtils]: 4: Hoare triple {8809#true} call #t~ret10 := main(); {8809#true} is VALID [2022-04-15 12:02:08,101 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8809#true} {8809#true} #95#return; {8809#true} is VALID [2022-04-15 12:02:08,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {8809#true} assume true; {8809#true} is VALID [2022-04-15 12:02:08,101 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-15 12:02:08,102 INFO L272 TraceCheckUtils]: 0: Hoare triple {8809#true} call ULTIMATE.init(); {8809#true} is VALID [2022-04-15 12:02:08,102 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-15 12:02:08,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [237362134] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:08,102 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:08,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-15 12:02:08,102 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:08,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1880850366] [2022-04-15 12:02:08,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1880850366] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:08,102 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:08,103 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 12:02:08,103 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [775298437] [2022-04-15 12:02:08,103 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:08,103 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-15 12:02:08,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:08,103 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-15 12:02:08,133 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-15 12:02:08,134 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 12:02:08,134 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:08,134 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 12:02:08,134 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=329, Unknown=0, NotChecked=0, Total=380 [2022-04-15 12:02:08,135 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-15 12:02:09,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:09,021 INFO L93 Difference]: Finished difference Result 100 states and 123 transitions. [2022-04-15 12:02:09,021 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-15 12:02:09,021 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-15 12:02:09,021 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:09,021 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-15 12:02:09,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2022-04-15 12:02:09,022 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-15 12:02:09,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 105 transitions. [2022-04-15 12:02:09,023 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 105 transitions. [2022-04-15 12:02:09,125 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-15 12:02:09,126 INFO L225 Difference]: With dead ends: 100 [2022-04-15 12:02:09,127 INFO L226 Difference]: Without dead ends: 77 [2022-04-15 12:02:09,127 INFO L912 BasicCegarLoop]: 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-15 12:02:09,128 INFO L913 BasicCegarLoop]: 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-15 12:02:09,128 INFO L914 BasicCegarLoop]: 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-15 12:02:09,128 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-15 12:02:09,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-15 12:02:09,255 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:09,261 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-15 12:02:09,261 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-15 12:02:09,261 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-15 12:02:09,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:09,264 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2022-04-15 12:02:09,264 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 95 transitions. [2022-04-15 12:02:09,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:09,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:09,264 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-15 12:02:09,266 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-15 12:02:09,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:09,267 INFO L93 Difference]: Finished difference Result 77 states and 95 transitions. [2022-04-15 12:02:09,267 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 95 transitions. [2022-04-15 12:02:09,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:09,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:09,268 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:09,268 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:09,268 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-15 12:02:09,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 85 transitions. [2022-04-15 12:02:09,269 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 85 transitions. Word has length 58 [2022-04-15 12:02:09,269 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:09,269 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 85 transitions. [2022-04-15 12:02:09,270 INFO L479 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-15 12:02:09,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 85 transitions. [2022-04-15 12:02:09,391 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-15 12:02:09,391 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 85 transitions. [2022-04-15 12:02:09,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 12:02:09,391 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:09,391 INFO L499 BasicCegarLoop]: 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-15 12:02:09,409 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-15 12:02:09,592 WARN L460 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-15 12:02:09,592 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:09,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:09,592 INFO L85 PathProgramCache]: Analyzing trace with hash -253331840, now seen corresponding path program 23 times [2022-04-15 12:02:09,592 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:09,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1115755957] [2022-04-15 12:02:09,594 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:09,594 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:09,594 INFO L85 PathProgramCache]: Analyzing trace with hash -253331840, now seen corresponding path program 24 times [2022-04-15 12:02:09,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:09,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [207119996] [2022-04-15 12:02:09,595 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:09,595 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:09,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:09,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:09,637 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:09,641 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-15 12:02:09,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {9746#(<= 5 ~n~0)} assume true; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:09,641 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9746#(<= 5 ~n~0)} {9741#true} #95#return; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:09,644 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:02:09,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:09,694 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-15 12:02:09,694 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-15 12:02:09,694 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-15 12:02:09,694 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-15 12:02:09,695 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-15 12:02:09,695 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-15 12:02:09,695 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-15 12:02:09,695 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-15 12:02:09,696 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-15 12:02:09,696 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-15 12:02:09,696 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-15 12:02:09,696 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-15 12:02:09,697 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-15 12:02:09,697 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-15 12:02:09,697 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-15 12:02:09,697 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-15 12:02:09,698 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-15 12:02:09,698 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-15 12:02:09,698 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-15 12:02:09,699 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-15 12:02:09,699 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-15 12:02:09,699 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-15 12:02:09,699 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-15 12:02:09,700 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-15 12:02:09,700 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-15 12:02:09,700 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-15 12:02:09,700 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-15 12:02:09,701 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-15 12:02:09,701 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-15 12:02:09,701 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-15 12:02:09,702 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-15 12:02:09,702 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-15 12:02:09,702 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-15 12:02:09,702 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-15 12:02:09,703 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-15 12:02:09,703 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-15 12:02:09,703 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-15 12:02:09,703 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-15 12:02:09,704 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-15 12:02:09,704 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-15 12:02:09,704 INFO L290 TraceCheckUtils]: 40: Hoare triple {9795#(<= SelectionSort_~lh~0 3)} assume !(~lh~0 < ~n~0); {9796#(<= ~n~0 3)} is VALID [2022-04-15 12:02:09,705 INFO L290 TraceCheckUtils]: 41: Hoare triple {9796#(<= ~n~0 3)} assume true; {9796#(<= ~n~0 3)} is VALID [2022-04-15 12:02:09,705 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {9796#(<= ~n~0 3)} {9746#(<= 5 ~n~0)} #91#return; {9742#false} is VALID [2022-04-15 12:02:09,706 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-15 12:02:09,706 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-15 12:02:09,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {9746#(<= 5 ~n~0)} assume true; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:09,707 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9746#(<= 5 ~n~0)} {9741#true} #95#return; {9746#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:09,707 INFO L272 TraceCheckUtils]: 4: Hoare triple {9746#(<= 5 ~n~0)} call #t~ret10 := main(); {9746#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:09,707 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-15 12:02:09,708 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-15 12:02:09,708 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-15 12:02:09,708 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-15 12:02:09,708 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-15 12:02:09,709 INFO L290 TraceCheckUtils]: 10: Hoare triple {9746#(<= 5 ~n~0)} assume !(~i~1 >= 0); {9746#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:09,709 INFO L272 TraceCheckUtils]: 11: Hoare triple {9746#(<= 5 ~n~0)} call SelectionSort(); {9791#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:09,709 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-15 12:02:09,709 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-15 12:02:09,710 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-15 12:02:09,710 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-15 12:02:09,710 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-15 12:02:09,710 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-15 12:02:09,711 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-15 12:02:09,711 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-15 12:02:09,711 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-15 12:02:09,711 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-15 12:02:09,712 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-15 12:02:09,712 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-15 12:02:09,712 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-15 12:02:09,712 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-15 12:02:09,713 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-15 12:02:09,713 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-15 12:02:09,713 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-15 12:02:09,713 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-15 12:02:09,714 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-15 12:02:09,714 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-15 12:02:09,714 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-15 12:02:09,714 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-15 12:02:09,715 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-15 12:02:09,715 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-15 12:02:09,715 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-15 12:02:09,715 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-15 12:02:09,716 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-15 12:02:09,716 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-15 12:02:09,716 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-15 12:02:09,716 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-15 12:02:09,717 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-15 12:02:09,717 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-15 12:02:09,717 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-15 12:02:09,717 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-15 12:02:09,718 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-15 12:02:09,718 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-15 12:02:09,718 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-15 12:02:09,718 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-15 12:02:09,719 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-15 12:02:09,719 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-15 12:02:09,719 INFO L290 TraceCheckUtils]: 52: Hoare triple {9795#(<= SelectionSort_~lh~0 3)} assume !(~lh~0 < ~n~0); {9796#(<= ~n~0 3)} is VALID [2022-04-15 12:02:09,720 INFO L290 TraceCheckUtils]: 53: Hoare triple {9796#(<= ~n~0 3)} assume true; {9796#(<= ~n~0 3)} is VALID [2022-04-15 12:02:09,720 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9796#(<= ~n~0 3)} {9746#(<= 5 ~n~0)} #91#return; {9742#false} is VALID [2022-04-15 12:02:09,720 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-15 12:02:09,720 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-15 12:02:09,720 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-15 12:02:09,720 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-15 12:02:09,720 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-15 12:02:09,720 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-15 12:02:09,721 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-15 12:02:09,721 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:09,721 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [207119996] [2022-04-15 12:02:09,721 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [207119996] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:09,721 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [474745810] [2022-04-15 12:02:09,721 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:02:09,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:09,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:09,722 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-15 12:02:09,723 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-15 12:02:09,805 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 12:02:09,805 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:09,806 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 12:02:09,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:09,817 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:09,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9741#true} is VALID [2022-04-15 12:02:09,947 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-15 12:02:09,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-15 12:02:09,947 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9741#true} {9741#true} #95#return; {9741#true} is VALID [2022-04-15 12:02:09,947 INFO L272 TraceCheckUtils]: 4: Hoare triple {9741#true} call #t~ret10 := main(); {9741#true} is VALID [2022-04-15 12:02:09,948 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-15 12:02:09,948 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-15 12:02:09,949 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-15 12:02:09,949 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-15 12:02:09,949 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-15 12:02:09,950 INFO L290 TraceCheckUtils]: 10: Hoare triple {9829#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {9742#false} is VALID [2022-04-15 12:02:09,950 INFO L272 TraceCheckUtils]: 11: Hoare triple {9742#false} call SelectionSort(); {9742#false} is VALID [2022-04-15 12:02:09,950 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-15 12:02:09,950 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-15 12:02:09,950 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-15 12:02:09,950 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-15 12:02:09,950 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-15 12:02:09,950 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-15 12:02:09,950 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-15 12:02:09,950 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-15 12:02:09,950 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-15 12:02:09,950 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-15 12:02:09,950 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-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,951 INFO L290 TraceCheckUtils]: 26: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,951 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-15 12:02:09,952 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-15 12:02:09,952 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-15 12:02:09,952 INFO L290 TraceCheckUtils]: 39: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-15 12:02:09,952 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-15 12:02:09,952 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-15 12:02:09,952 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-15 12:02:09,952 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-15 12:02:09,952 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-15 12:02:09,952 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-15 12:02:09,952 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-15 12:02:09,952 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-15 12:02:09,952 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-15 12:02:09,952 INFO L290 TraceCheckUtils]: 49: Hoare triple {9742#false} assume !(~i~0 < ~n~0); {9742#false} is VALID [2022-04-15 12:02:09,952 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-15 12:02:09,953 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-15 12:02:09,953 INFO L290 TraceCheckUtils]: 52: Hoare triple {9742#false} assume !(~lh~0 < ~n~0); {9742#false} is VALID [2022-04-15 12:02:09,953 INFO L290 TraceCheckUtils]: 53: Hoare triple {9742#false} assume true; {9742#false} is VALID [2022-04-15 12:02:09,953 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9742#false} {9742#false} #91#return; {9742#false} is VALID [2022-04-15 12:02:09,953 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-15 12:02:09,953 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-15 12:02:09,953 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-15 12:02:09,953 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-15 12:02:09,953 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-15 12:02:09,953 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-15 12:02:09,953 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-15 12:02:09,954 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:10,085 INFO L290 TraceCheckUtils]: 60: Hoare triple {9742#false} assume !false; {9742#false} is VALID [2022-04-15 12:02:10,086 INFO L290 TraceCheckUtils]: 59: Hoare triple {9742#false} assume 0 == ~cond; {9742#false} is VALID [2022-04-15 12:02:10,086 INFO L290 TraceCheckUtils]: 58: Hoare triple {9742#false} ~cond := #in~cond; {9742#false} is VALID [2022-04-15 12:02:10,086 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-15 12:02:10,086 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-15 12:02:10,086 INFO L290 TraceCheckUtils]: 55: Hoare triple {9742#false} ~i~1 := 0; {9742#false} is VALID [2022-04-15 12:02:10,086 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {9741#true} {9742#false} #91#return; {9742#false} is VALID [2022-04-15 12:02:10,086 INFO L290 TraceCheckUtils]: 53: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-15 12:02:10,086 INFO L290 TraceCheckUtils]: 52: Hoare triple {9741#true} assume !(~lh~0 < ~n~0); {9741#true} is VALID [2022-04-15 12:02:10,086 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-15 12:02:10,086 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-15 12:02:10,086 INFO L290 TraceCheckUtils]: 49: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-15 12:02:10,086 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-15 12:02:10,087 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-15 12:02:10,087 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-15 12:02:10,087 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-15 12:02:10,087 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-15 12:02:10,087 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-15 12:02:10,087 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-15 12:02:10,087 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-15 12:02:10,087 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-15 12:02:10,087 INFO L290 TraceCheckUtils]: 39: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-15 12:02:10,087 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-15 12:02:10,087 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-15 12:02:10,087 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-15 12:02:10,087 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 INFO L290 TraceCheckUtils]: 26: Hoare triple {9741#true} assume !(~i~0 < ~n~0); {9741#true} is VALID [2022-04-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,088 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-15 12:02:10,089 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-15 12:02:10,089 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-15 12:02:10,089 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-15 12:02:10,089 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-15 12:02:10,089 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-15 12:02:10,089 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-15 12:02:10,089 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-15 12:02:10,089 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-15 12:02:10,089 INFO L272 TraceCheckUtils]: 11: Hoare triple {9742#false} call SelectionSort(); {9741#true} is VALID [2022-04-15 12:02:10,114 INFO L290 TraceCheckUtils]: 10: Hoare triple {10133#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {9742#false} is VALID [2022-04-15 12:02:10,114 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-15 12:02:10,115 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-15 12:02:10,115 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-15 12:02:10,116 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-15 12:02:10,116 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-15 12:02:10,116 INFO L272 TraceCheckUtils]: 4: Hoare triple {9741#true} call #t~ret10 := main(); {9741#true} is VALID [2022-04-15 12:02:10,116 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9741#true} {9741#true} #95#return; {9741#true} is VALID [2022-04-15 12:02:10,116 INFO L290 TraceCheckUtils]: 2: Hoare triple {9741#true} assume true; {9741#true} is VALID [2022-04-15 12:02:10,116 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-15 12:02:10,117 INFO L272 TraceCheckUtils]: 0: Hoare triple {9741#true} call ULTIMATE.init(); {9741#true} is VALID [2022-04-15 12:02:10,119 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-15 12:02:10,119 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [474745810] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:10,119 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:10,120 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 5, 5] total 15 [2022-04-15 12:02:10,120 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:10,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1115755957] [2022-04-15 12:02:10,120 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1115755957] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:10,120 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:10,120 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 12:02:10,120 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1455558383] [2022-04-15 12:02:10,120 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:10,121 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-15 12:02:10,121 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:10,121 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-15 12:02:10,146 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-15 12:02:10,146 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 12:02:10,146 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:10,147 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 12:02:10,147 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-15 12:02:10,147 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-15 12:02:10,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:10,830 INFO L93 Difference]: Finished difference Result 97 states and 118 transitions. [2022-04-15 12:02:10,830 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 12:02:10,830 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-15 12:02:10,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:10,831 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-15 12:02:10,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-15 12:02:10,832 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-15 12:02:10,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 80 transitions. [2022-04-15 12:02:10,833 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 80 transitions. [2022-04-15 12:02:10,903 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-15 12:02:10,904 INFO L225 Difference]: With dead ends: 97 [2022-04-15 12:02:10,905 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 12:02:10,905 INFO L912 BasicCegarLoop]: 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-15 12:02:10,905 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 140 mSDsluCounter, 8 mSDsCounter, 0 mSdLazyCounter, 163 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-15 12:02:10,905 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [140 Valid, 31 Invalid, 190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 163 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 12:02:10,906 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 12:02:11,050 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 76. [2022-04-15 12:02:11,050 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:11,050 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-15 12:02:11,050 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-15 12:02:11,050 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-15 12:02:11,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:11,051 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-15 12:02:11,052 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-15 12:02:11,052 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:11,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:11,052 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-15 12:02:11,052 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-15 12:02:11,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:11,053 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-15 12:02:11,053 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-15 12:02:11,053 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:11,053 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:11,053 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:11,053 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:11,054 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-15 12:02:11,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 93 transitions. [2022-04-15 12:02:11,054 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 93 transitions. Word has length 61 [2022-04-15 12:02:11,055 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:11,055 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 93 transitions. [2022-04-15 12:02:11,055 INFO L479 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-15 12:02:11,055 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 93 transitions. [2022-04-15 12:02:11,199 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-15 12:02:11,200 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-15 12:02:11,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-04-15 12:02:11,200 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:11,200 INFO L499 BasicCegarLoop]: 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-15 12:02:11,228 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-15 12:02:11,415 WARN L460 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-15 12:02:11,416 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:11,416 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:11,416 INFO L85 PathProgramCache]: Analyzing trace with hash 1836788888, now seen corresponding path program 25 times [2022-04-15 12:02:11,416 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:11,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [514141625] [2022-04-15 12:02:11,418 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:11,419 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:11,419 INFO L85 PathProgramCache]: Analyzing trace with hash 1836788888, now seen corresponding path program 26 times [2022-04-15 12:02:11,419 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:11,419 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [769485992] [2022-04-15 12:02:11,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:11,419 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:11,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:11,473 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:11,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:11,482 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-15 12:02:11,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {10704#(<= 5 ~n~0)} assume true; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:11,482 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10704#(<= 5 ~n~0)} {10699#true} #95#return; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:11,486 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:02:11,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:11,556 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-15 12:02:11,556 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-15 12:02:11,558 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-15 12:02:11,558 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-15 12:02:11,560 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-15 12:02:11,561 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-15 12:02:11,561 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-15 12:02:11,561 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-15 12:02:11,562 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-15 12:02:11,562 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-15 12:02:11,562 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-15 12:02:11,562 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-15 12:02:11,563 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-15 12:02:11,563 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-15 12:02:11,563 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-15 12:02:11,564 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-15 12:02:11,564 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-15 12:02:11,564 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-15 12:02:11,565 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-15 12:02:11,565 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-15 12:02:11,565 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-15 12:02:11,566 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-15 12:02:11,566 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-15 12:02:11,566 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-15 12:02:11,566 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-15 12:02:11,567 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-15 12:02:11,568 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-15 12:02:11,568 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-15 12:02:11,568 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-15 12:02:11,569 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-15 12:02:11,569 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-15 12:02:11,569 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-15 12:02:11,570 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-15 12:02:11,570 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-15 12:02:11,570 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-15 12:02:11,570 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-15 12:02:11,571 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-15 12:02:11,571 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-15 12:02:11,571 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-15 12:02:11,572 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-15 12:02:11,572 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-15 12:02:11,573 INFO L290 TraceCheckUtils]: 41: Hoare triple {10758#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-15 12:02:11,573 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-15 12:02:11,573 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-15 12:02:11,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {10759#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-15 12:02:11,574 INFO L290 TraceCheckUtils]: 45: Hoare triple {10759#(<= ~n~0 4)} assume true; {10759#(<= ~n~0 4)} is VALID [2022-04-15 12:02:11,574 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10759#(<= ~n~0 4)} {10704#(<= 5 ~n~0)} #91#return; {10700#false} is VALID [2022-04-15 12:02:11,592 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-15 12:02:11,593 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-15 12:02:11,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {10704#(<= 5 ~n~0)} assume true; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:11,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10704#(<= 5 ~n~0)} {10699#true} #95#return; {10704#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:11,594 INFO L272 TraceCheckUtils]: 4: Hoare triple {10704#(<= 5 ~n~0)} call #t~ret10 := main(); {10704#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:11,594 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-15 12:02:11,595 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-15 12:02:11,595 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-15 12:02:11,595 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-15 12:02:11,596 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-15 12:02:11,596 INFO L290 TraceCheckUtils]: 10: Hoare triple {10704#(<= 5 ~n~0)} assume !(~i~1 >= 0); {10704#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:11,596 INFO L272 TraceCheckUtils]: 11: Hoare triple {10704#(<= 5 ~n~0)} call SelectionSort(); {10753#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:11,597 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-15 12:02:11,597 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-15 12:02:11,597 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-15 12:02:11,598 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-15 12:02:11,598 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-15 12:02:11,598 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-15 12:02:11,599 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-15 12:02:11,599 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-15 12:02:11,599 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-15 12:02:11,600 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-15 12:02:11,600 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-15 12:02:11,600 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-15 12:02:11,601 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-15 12:02:11,601 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-15 12:02:11,601 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-15 12:02:11,602 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-15 12:02:11,602 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-15 12:02:11,602 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-15 12:02:11,603 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-15 12:02:11,603 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-15 12:02:11,603 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-15 12:02:11,604 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-15 12:02:11,604 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-15 12:02:11,604 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-15 12:02:11,605 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-15 12:02:11,605 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-15 12:02:11,605 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-15 12:02:11,605 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-15 12:02:11,606 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-15 12:02:11,606 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-15 12:02:11,607 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-15 12:02:11,607 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-15 12:02:11,607 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-15 12:02:11,607 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-15 12:02:11,608 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-15 12:02:11,608 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-15 12:02:11,608 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-15 12:02:11,609 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-15 12:02:11,609 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-15 12:02:11,609 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-15 12:02:11,610 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-15 12:02:11,610 INFO L290 TraceCheckUtils]: 53: Hoare triple {10758#(<= SelectionSort_~i~0 4)} assume !(~i~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-15 12:02:11,610 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-15 12:02:11,611 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-15 12:02:11,611 INFO L290 TraceCheckUtils]: 56: Hoare triple {10759#(<= ~n~0 4)} assume !(~lh~0 < ~n~0); {10759#(<= ~n~0 4)} is VALID [2022-04-15 12:02:11,611 INFO L290 TraceCheckUtils]: 57: Hoare triple {10759#(<= ~n~0 4)} assume true; {10759#(<= ~n~0 4)} is VALID [2022-04-15 12:02:11,612 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10759#(<= ~n~0 4)} {10704#(<= 5 ~n~0)} #91#return; {10700#false} is VALID [2022-04-15 12:02:11,612 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-15 12:02:11,612 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-15 12:02:11,612 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-15 12:02:11,612 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-15 12:02:11,612 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-15 12:02:11,612 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-15 12:02:11,613 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-15 12:02:11,613 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:11,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [769485992] [2022-04-15 12:02:11,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [769485992] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:11,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [362082454] [2022-04-15 12:02:11,614 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:02:11,614 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:11,615 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:11,632 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-15 12:02:11,681 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-15 12:02:11,751 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:02:11,751 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:11,752 INFO L263 TraceCheckSpWp]: Trace formula consists of 276 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 12:02:11,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:11,766 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:11,906 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10699#true} is VALID [2022-04-15 12:02:11,906 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-15 12:02:11,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-15 12:02:11,907 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10699#true} {10699#true} #95#return; {10699#true} is VALID [2022-04-15 12:02:11,907 INFO L272 TraceCheckUtils]: 4: Hoare triple {10699#true} call #t~ret10 := main(); {10699#true} is VALID [2022-04-15 12:02:11,907 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-15 12:02:11,907 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-15 12:02:11,908 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-15 12:02:11,908 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-15 12:02:11,909 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-15 12:02:11,909 INFO L290 TraceCheckUtils]: 10: Hoare triple {10792#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {10700#false} is VALID [2022-04-15 12:02:11,909 INFO L272 TraceCheckUtils]: 11: Hoare triple {10700#false} call SelectionSort(); {10700#false} is VALID [2022-04-15 12:02:11,909 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-15 12:02:11,909 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-15 12:02:11,909 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-15 12:02:11,909 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-15 12:02:11,909 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-15 12:02:11,909 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-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,910 INFO L290 TraceCheckUtils]: 26: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,910 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-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,911 INFO L290 TraceCheckUtils]: 39: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,911 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-15 12:02:11,912 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-15 12:02:11,912 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-15 12:02:11,912 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-15 12:02:11,912 INFO L290 TraceCheckUtils]: 49: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-15 12:02:11,912 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-15 12:02:11,912 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-15 12:02:11,912 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-15 12:02:11,912 INFO L290 TraceCheckUtils]: 53: Hoare triple {10700#false} assume !(~i~0 < ~n~0); {10700#false} is VALID [2022-04-15 12:02:11,912 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-15 12:02:11,912 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-15 12:02:11,912 INFO L290 TraceCheckUtils]: 56: Hoare triple {10700#false} assume !(~lh~0 < ~n~0); {10700#false} is VALID [2022-04-15 12:02:11,912 INFO L290 TraceCheckUtils]: 57: Hoare triple {10700#false} assume true; {10700#false} is VALID [2022-04-15 12:02:11,912 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10700#false} {10700#false} #91#return; {10700#false} is VALID [2022-04-15 12:02:11,912 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-15 12:02:11,912 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-15 12:02:11,913 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-15 12:02:11,913 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-15 12:02:11,913 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-15 12:02:11,913 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-15 12:02:11,913 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-15 12:02:11,913 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:12,080 INFO L290 TraceCheckUtils]: 64: Hoare triple {10700#false} assume !false; {10700#false} is VALID [2022-04-15 12:02:12,081 INFO L290 TraceCheckUtils]: 63: Hoare triple {10700#false} assume 0 == ~cond; {10700#false} is VALID [2022-04-15 12:02:12,081 INFO L290 TraceCheckUtils]: 62: Hoare triple {10700#false} ~cond := #in~cond; {10700#false} is VALID [2022-04-15 12:02:12,081 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-15 12:02:12,081 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-15 12:02:12,081 INFO L290 TraceCheckUtils]: 59: Hoare triple {10700#false} ~i~1 := 0; {10700#false} is VALID [2022-04-15 12:02:12,081 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10699#true} {10700#false} #91#return; {10700#false} is VALID [2022-04-15 12:02:12,081 INFO L290 TraceCheckUtils]: 57: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-15 12:02:12,081 INFO L290 TraceCheckUtils]: 56: Hoare triple {10699#true} assume !(~lh~0 < ~n~0); {10699#true} is VALID [2022-04-15 12:02:12,081 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-15 12:02:12,081 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-15 12:02:12,081 INFO L290 TraceCheckUtils]: 53: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-15 12:02:12,081 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-15 12:02:12,082 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-15 12:02:12,082 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-15 12:02:12,082 INFO L290 TraceCheckUtils]: 49: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-15 12:02:12,082 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-15 12:02:12,082 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-15 12:02:12,082 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-15 12:02:12,082 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-15 12:02:12,082 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-15 12:02:12,082 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-15 12:02:12,082 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-15 12:02:12,082 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-15 12:02:12,082 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-15 12:02:12,082 INFO L290 TraceCheckUtils]: 39: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-15 12:02:12,082 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-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,083 INFO L290 TraceCheckUtils]: 26: Hoare triple {10699#true} assume !(~i~0 < ~n~0); {10699#true} is VALID [2022-04-15 12:02:12,083 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-15 12:02:12,083 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 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-15 12:02:12,084 INFO L272 TraceCheckUtils]: 11: Hoare triple {10700#false} call SelectionSort(); {10699#true} is VALID [2022-04-15 12:02:12,085 INFO L290 TraceCheckUtils]: 10: Hoare triple {11120#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {10700#false} is VALID [2022-04-15 12:02:12,085 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-15 12:02:12,086 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-15 12:02:12,086 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-15 12:02:12,086 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-15 12:02:12,087 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-15 12:02:12,087 INFO L272 TraceCheckUtils]: 4: Hoare triple {10699#true} call #t~ret10 := main(); {10699#true} is VALID [2022-04-15 12:02:12,087 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10699#true} {10699#true} #95#return; {10699#true} is VALID [2022-04-15 12:02:12,087 INFO L290 TraceCheckUtils]: 2: Hoare triple {10699#true} assume true; {10699#true} is VALID [2022-04-15 12:02:12,087 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-15 12:02:12,087 INFO L272 TraceCheckUtils]: 0: Hoare triple {10699#true} call ULTIMATE.init(); {10699#true} is VALID [2022-04-15 12:02:12,087 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-15 12:02:12,088 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [362082454] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:12,088 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:12,088 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 5, 5] total 16 [2022-04-15 12:02:12,088 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:12,088 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [514141625] [2022-04-15 12:02:12,088 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [514141625] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:12,088 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:12,088 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 12:02:12,088 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1467721901] [2022-04-15 12:02:12,088 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:12,089 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-15 12:02:12,089 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:12,089 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-15 12:02:12,118 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-15 12:02:12,118 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 12:02:12,118 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:12,119 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 12:02:12,119 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-15 12:02:12,119 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-15 12:02:12,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:12,888 INFO L93 Difference]: Finished difference Result 100 states and 121 transitions. [2022-04-15 12:02:12,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 12:02:12,888 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-15 12:02:12,888 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:12,888 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-15 12:02:12,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 99 transitions. [2022-04-15 12:02:12,904 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-15 12:02:12,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 99 transitions. [2022-04-15 12:02:12,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 99 transitions. [2022-04-15 12:02:13,014 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-15 12:02:13,015 INFO L225 Difference]: With dead ends: 100 [2022-04-15 12:02:13,015 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 12:02:13,017 INFO L912 BasicCegarLoop]: 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-15 12:02:13,018 INFO L913 BasicCegarLoop]: 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-15 12:02:13,018 INFO L914 BasicCegarLoop]: 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-15 12:02:13,018 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 12:02:13,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 77. [2022-04-15 12:02:13,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:13,182 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-15 12:02:13,183 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-15 12:02:13,183 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-15 12:02:13,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:13,184 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-15 12:02:13,184 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-15 12:02:13,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:13,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:13,185 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-15 12:02:13,185 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-15 12:02:13,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:13,187 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2022-04-15 12:02:13,187 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2022-04-15 12:02:13,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:13,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:13,187 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:13,188 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:13,188 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-15 12:02:13,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 94 transitions. [2022-04-15 12:02:13,189 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 94 transitions. Word has length 65 [2022-04-15 12:02:13,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:13,189 INFO L478 AbstractCegarLoop]: Abstraction has 77 states and 94 transitions. [2022-04-15 12:02:13,189 INFO L479 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-15 12:02:13,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 77 states and 94 transitions. [2022-04-15 12:02:13,323 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-15 12:02:13,323 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 94 transitions. [2022-04-15 12:02:13,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-15 12:02:13,326 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:13,326 INFO L499 BasicCegarLoop]: 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-15 12:02:13,346 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-15 12:02:13,527 WARN L460 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-15 12:02:13,527 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:13,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:13,528 INFO L85 PathProgramCache]: Analyzing trace with hash -509955284, now seen corresponding path program 27 times [2022-04-15 12:02:13,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:13,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [883489949] [2022-04-15 12:02:13,530 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:13,530 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:13,530 INFO L85 PathProgramCache]: Analyzing trace with hash -509955284, now seen corresponding path program 28 times [2022-04-15 12:02:13,530 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:13,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [85969845] [2022-04-15 12:02:13,530 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:13,530 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:13,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:13,575 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:13,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:13,581 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-15 12:02:13,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {11707#(<= 5 ~n~0)} assume true; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:13,581 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11707#(<= 5 ~n~0)} {11702#true} #95#return; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:13,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:02:13,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:13,653 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-15 12:02:13,653 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-15 12:02:13,654 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-15 12:02:13,654 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-15 12:02:13,654 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-15 12:02:13,655 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-15 12:02:13,655 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-15 12:02:13,655 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-15 12:02:13,655 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-15 12:02:13,656 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-15 12:02:13,656 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-15 12:02:13,656 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-15 12:02:13,657 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-15 12:02:13,657 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-15 12:02:13,657 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-15 12:02:13,657 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-15 12:02:13,658 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-15 12:02:13,658 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-15 12:02:13,658 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-15 12:02:13,659 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-15 12:02:13,659 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-15 12:02:13,659 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-15 12:02:13,659 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-15 12:02:13,660 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-15 12:02:13,660 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-15 12:02:13,660 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-15 12:02:13,661 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-15 12:02:13,661 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-15 12:02:13,661 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-15 12:02:13,662 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-15 12:02:13,662 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-15 12:02:13,662 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-15 12:02:13,662 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-15 12:02:13,663 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-15 12:02:13,663 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-15 12:02:13,663 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-15 12:02:13,663 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-15 12:02:13,664 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-15 12:02:13,664 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-15 12:02:13,664 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-15 12:02:13,665 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-15 12:02:13,665 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-15 12:02:13,665 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-15 12:02:13,666 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-15 12:02:13,666 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-15 12:02:13,666 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-15 12:02:13,667 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-15 12:02:13,667 INFO L290 TraceCheckUtils]: 47: Hoare triple {11764#(<= SelectionSort_~lh~0 4)} assume !(~lh~0 < ~n~0); {11765#(<= ~n~0 4)} is VALID [2022-04-15 12:02:13,668 INFO L290 TraceCheckUtils]: 48: Hoare triple {11765#(<= ~n~0 4)} assume true; {11765#(<= ~n~0 4)} is VALID [2022-04-15 12:02:13,668 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {11765#(<= ~n~0 4)} {11707#(<= 5 ~n~0)} #91#return; {11703#false} is VALID [2022-04-15 12:02:13,669 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-15 12:02:13,669 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-15 12:02:13,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {11707#(<= 5 ~n~0)} assume true; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:13,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11707#(<= 5 ~n~0)} {11702#true} #95#return; {11707#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:13,670 INFO L272 TraceCheckUtils]: 4: Hoare triple {11707#(<= 5 ~n~0)} call #t~ret10 := main(); {11707#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:13,671 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-15 12:02:13,671 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-15 12:02:13,671 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-15 12:02:13,671 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-15 12:02:13,672 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-15 12:02:13,672 INFO L290 TraceCheckUtils]: 10: Hoare triple {11707#(<= 5 ~n~0)} assume !(~i~1 >= 0); {11707#(<= 5 ~n~0)} is VALID [2022-04-15 12:02:13,672 INFO L272 TraceCheckUtils]: 11: Hoare triple {11707#(<= 5 ~n~0)} call SelectionSort(); {11759#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:13,673 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-15 12:02:13,673 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-15 12:02:13,673 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-15 12:02:13,673 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-15 12:02:13,674 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-15 12:02:13,674 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-15 12:02:13,674 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-15 12:02:13,675 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-15 12:02:13,675 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-15 12:02:13,675 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-15 12:02:13,675 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-15 12:02:13,676 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-15 12:02:13,676 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-15 12:02:13,676 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-15 12:02:13,677 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-15 12:02:13,677 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-15 12:02:13,677 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-15 12:02:13,678 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-15 12:02:13,678 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-15 12:02:13,678 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-15 12:02:13,678 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-15 12:02:13,679 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-15 12:02:13,679 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-15 12:02:13,679 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-15 12:02:13,679 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-15 12:02:13,680 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-15 12:02:13,680 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-15 12:02:13,680 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-15 12:02:13,681 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-15 12:02:13,681 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-15 12:02:13,681 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-15 12:02:13,682 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-15 12:02:13,682 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-15 12:02:13,682 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-15 12:02:13,682 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-15 12:02:13,683 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-15 12:02:13,683 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-15 12:02:13,683 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-15 12:02:13,683 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-15 12:02:13,684 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-15 12:02:13,684 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-15 12:02:13,684 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-15 12:02:13,685 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-15 12:02:13,685 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-15 12:02:13,685 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-15 12:02:13,685 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-15 12:02:13,686 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-15 12:02:13,686 INFO L290 TraceCheckUtils]: 59: Hoare triple {11764#(<= SelectionSort_~lh~0 4)} assume !(~lh~0 < ~n~0); {11765#(<= ~n~0 4)} is VALID [2022-04-15 12:02:13,686 INFO L290 TraceCheckUtils]: 60: Hoare triple {11765#(<= ~n~0 4)} assume true; {11765#(<= ~n~0 4)} is VALID [2022-04-15 12:02:13,687 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11765#(<= ~n~0 4)} {11707#(<= 5 ~n~0)} #91#return; {11703#false} is VALID [2022-04-15 12:02:13,687 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-15 12:02:13,687 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-15 12:02:13,687 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-15 12:02:13,687 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-15 12:02:13,688 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-15 12:02:13,688 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-15 12:02:13,688 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-15 12:02:13,689 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:13,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [85969845] [2022-04-15 12:02:13,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [85969845] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:13,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1973377768] [2022-04-15 12:02:13,689 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:02:13,689 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:13,689 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:13,690 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-15 12:02:13,692 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-15 12:02:13,774 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:02:13,775 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:13,776 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 12:02:13,793 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:13,794 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:14,122 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11702#true} is VALID [2022-04-15 12:02:14,122 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-15 12:02:14,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {11702#true} assume true; {11702#true} is VALID [2022-04-15 12:02:14,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11702#true} {11702#true} #95#return; {11702#true} is VALID [2022-04-15 12:02:14,122 INFO L272 TraceCheckUtils]: 4: Hoare triple {11702#true} call #t~ret10 := main(); {11702#true} is VALID [2022-04-15 12:02:14,122 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-15 12:02:14,122 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-15 12:02:14,122 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-15 12:02:14,122 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-15 12:02:14,123 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-15 12:02:14,123 INFO L290 TraceCheckUtils]: 10: Hoare triple {11702#true} assume !(~i~1 >= 0); {11702#true} is VALID [2022-04-15 12:02:14,123 INFO L272 TraceCheckUtils]: 11: Hoare triple {11702#true} call SelectionSort(); {11702#true} is VALID [2022-04-15 12:02:14,123 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-15 12:02:14,123 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-15 12:02:14,123 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-15 12:02:14,124 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-15 12:02:14,124 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-15 12:02:14,124 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-15 12:02:14,125 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-15 12:02:14,125 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-15 12:02:14,125 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-15 12:02:14,126 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-15 12:02:14,126 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-15 12:02:14,127 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-15 12:02:14,127 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-15 12:02:14,127 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-15 12:02:14,128 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-15 12:02:14,128 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-15 12:02:14,128 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-15 12:02:14,129 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-15 12:02:14,129 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-15 12:02:14,129 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-15 12:02:14,129 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-15 12:02:14,130 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-15 12:02:14,130 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-15 12:02:14,130 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-15 12:02:14,131 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-15 12:02:14,131 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-15 12:02:14,131 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-15 12:02:14,131 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-15 12:02:14,132 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-15 12:02:14,132 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-15 12:02:14,132 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-15 12:02:14,133 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-15 12:02:14,133 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-15 12:02:14,133 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-15 12:02:14,134 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-15 12:02:14,134 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-15 12:02:14,134 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-15 12:02:14,134 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-15 12:02:14,135 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-15 12:02:14,135 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-15 12:02:14,135 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-15 12:02:14,136 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-15 12:02:14,136 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-15 12:02:14,136 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-15 12:02:14,136 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-15 12:02:14,137 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-15 12:02:14,137 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-15 12:02:14,137 INFO L290 TraceCheckUtils]: 59: Hoare triple {11951#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {11703#false} is VALID [2022-04-15 12:02:14,138 INFO L290 TraceCheckUtils]: 60: Hoare triple {11703#false} assume true; {11703#false} is VALID [2022-04-15 12:02:14,138 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11703#false} {11702#true} #91#return; {11703#false} is VALID [2022-04-15 12:02:14,138 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-15 12:02:14,138 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-15 12:02:14,138 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-15 12:02:14,138 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-15 12:02:14,138 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-15 12:02:14,138 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-15 12:02:14,138 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-15 12:02:14,138 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:14,408 INFO L290 TraceCheckUtils]: 67: Hoare triple {11703#false} assume !false; {11703#false} is VALID [2022-04-15 12:02:14,409 INFO L290 TraceCheckUtils]: 66: Hoare triple {11703#false} assume 0 == ~cond; {11703#false} is VALID [2022-04-15 12:02:14,409 INFO L290 TraceCheckUtils]: 65: Hoare triple {11703#false} ~cond := #in~cond; {11703#false} is VALID [2022-04-15 12:02:14,409 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-15 12:02:14,409 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-15 12:02:14,409 INFO L290 TraceCheckUtils]: 62: Hoare triple {11703#false} ~i~1 := 0; {11703#false} is VALID [2022-04-15 12:02:14,409 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11703#false} {11702#true} #91#return; {11703#false} is VALID [2022-04-15 12:02:14,409 INFO L290 TraceCheckUtils]: 60: Hoare triple {11703#false} assume true; {11703#false} is VALID [2022-04-15 12:02:14,409 INFO L290 TraceCheckUtils]: 59: Hoare triple {11951#(< SelectionSort_~lh~0 ~n~0)} assume !(~lh~0 < ~n~0); {11703#false} is VALID [2022-04-15 12:02:14,410 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-15 12:02:14,410 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-15 12:02:14,411 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-15 12:02:14,411 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-15 12:02:14,411 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-15 12:02:14,411 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-15 12:02:14,412 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-15 12:02:14,412 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-15 12:02:14,412 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-15 12:02:14,413 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-15 12:02:14,413 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-15 12:02:14,413 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-15 12:02:14,414 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-15 12:02:14,414 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-15 12:02:14,414 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-15 12:02:14,414 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-15 12:02:14,415 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-15 12:02:14,415 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-15 12:02:14,415 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-15 12:02:14,416 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-15 12:02:14,416 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-15 12:02:14,416 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-15 12:02:14,416 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-15 12:02:14,417 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-15 12:02:14,417 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-15 12:02:14,417 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-15 12:02:14,418 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-15 12:02:14,418 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-15 12:02:14,418 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-15 12:02:14,418 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-15 12:02:14,419 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-15 12:02:14,419 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-15 12:02:14,419 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-15 12:02:14,420 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-15 12:02:14,420 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-15 12:02:14,421 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-15 12:02:14,421 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-15 12:02:14,421 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-15 12:02:14,422 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-15 12:02:14,422 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-15 12:02:14,422 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-15 12:02:14,423 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-15 12:02:14,423 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-15 12:02:14,423 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-15 12:02:14,424 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-15 12:02:14,424 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-15 12:02:14,424 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-15 12:02:14,424 INFO L272 TraceCheckUtils]: 11: Hoare triple {11702#true} call SelectionSort(); {11702#true} is VALID [2022-04-15 12:02:14,424 INFO L290 TraceCheckUtils]: 10: Hoare triple {11702#true} assume !(~i~1 >= 0); {11702#true} is VALID [2022-04-15 12:02:14,424 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-15 12:02:14,425 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-15 12:02:14,425 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-15 12:02:14,425 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-15 12:02:14,425 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-15 12:02:14,425 INFO L272 TraceCheckUtils]: 4: Hoare triple {11702#true} call #t~ret10 := main(); {11702#true} is VALID [2022-04-15 12:02:14,425 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11702#true} {11702#true} #95#return; {11702#true} is VALID [2022-04-15 12:02:14,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {11702#true} assume true; {11702#true} is VALID [2022-04-15 12:02:14,425 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-15 12:02:14,425 INFO L272 TraceCheckUtils]: 0: Hoare triple {11702#true} call ULTIMATE.init(); {11702#true} is VALID [2022-04-15 12:02:14,425 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-15 12:02:14,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1973377768] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:14,426 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:14,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11, 11] total 20 [2022-04-15 12:02:14,426 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:14,426 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [883489949] [2022-04-15 12:02:14,426 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [883489949] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:14,426 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:14,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 12:02:14,426 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1962575491] [2022-04-15 12:02:14,426 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:14,427 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-15 12:02:14,427 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:14,427 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-15 12:02:14,473 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-15 12:02:14,473 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 12:02:14,473 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:14,473 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 12:02:14,474 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=317, Unknown=0, NotChecked=0, Total=380 [2022-04-15 12:02:14,474 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-15 12:02:15,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:15,161 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-15 12:02:15,161 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 12:02:15,161 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-15 12:02:15,161 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:15,161 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-15 12:02:15,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 88 transitions. [2022-04-15 12:02:15,165 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-15 12:02:15,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 88 transitions. [2022-04-15 12:02:15,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 88 transitions. [2022-04-15 12:02:15,241 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-15 12:02:15,243 INFO L225 Difference]: With dead ends: 104 [2022-04-15 12:02:15,243 INFO L226 Difference]: Without dead ends: 91 [2022-04-15 12:02:15,244 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 128 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=172, Invalid=698, Unknown=0, NotChecked=0, Total=870 [2022-04-15 12:02:15,245 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 164 mSDsluCounter, 6 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-15 12:02:15,245 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [164 Valid, 29 Invalid, 178 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 149 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 12:02:15,246 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-04-15 12:02:15,400 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 83. [2022-04-15 12:02:15,400 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:15,401 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-15 12:02:15,401 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-15 12:02:15,401 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-15 12:02:15,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:15,402 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-15 12:02:15,402 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-15 12:02:15,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:15,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:15,403 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-15 12:02:15,403 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-15 12:02:15,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:15,404 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-15 12:02:15,404 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 113 transitions. [2022-04-15 12:02:15,404 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:15,404 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:15,404 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:15,404 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:15,404 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-15 12:02:15,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 102 transitions. [2022-04-15 12:02:15,405 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 102 transitions. Word has length 68 [2022-04-15 12:02:15,405 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:15,405 INFO L478 AbstractCegarLoop]: Abstraction has 83 states and 102 transitions. [2022-04-15 12:02:15,405 INFO L479 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-15 12:02:15,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 102 transitions. [2022-04-15 12:02:15,588 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-15 12:02:15,588 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 102 transitions. [2022-04-15 12:02:15,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-15 12:02:15,589 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:15,589 INFO L499 BasicCegarLoop]: 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-15 12:02:15,626 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-15 12:02:15,799 WARN L460 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-15 12:02:15,800 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:15,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:15,800 INFO L85 PathProgramCache]: Analyzing trace with hash 992555844, now seen corresponding path program 29 times [2022-04-15 12:02:15,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:15,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [671781742] [2022-04-15 12:02:15,802 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:15,802 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:15,802 INFO L85 PathProgramCache]: Analyzing trace with hash 992555844, now seen corresponding path program 30 times [2022-04-15 12:02:15,802 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:15,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [372729141] [2022-04-15 12:02:15,802 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:15,803 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:15,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:15,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:15,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:15,866 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-15 12:02:15,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 12:02:15,866 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-15 12:02:15,871 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 12:02:15,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:15,894 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-15 12:02:15,895 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-15 12:02:15,895 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-15 12:02:15,895 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-15 12:02:15,895 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-15 12:02:15,895 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-15 12:02:15,895 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-15 12:02:15,895 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-15 12:02:15,895 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-15 12:02:15,895 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-15 12:02:15,896 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-15 12:02:15,896 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-15 12:02:15,896 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-15 12:02:15,896 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-15 12:02:15,896 INFO L290 TraceCheckUtils]: 14: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,896 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-15 12:02:15,896 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-15 12:02:15,896 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-15 12:02:15,896 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-15 12:02:15,896 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-15 12:02:15,896 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-15 12:02:15,897 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-15 12:02:15,897 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-15 12:02:15,897 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-15 12:02:15,897 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-15 12:02:15,897 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-15 12:02:15,897 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-15 12:02:15,897 INFO L290 TraceCheckUtils]: 27: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,897 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-15 12:02:15,897 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-15 12:02:15,897 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-15 12:02:15,898 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-15 12:02:15,898 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-15 12:02:15,898 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-15 12:02:15,898 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-15 12:02:15,898 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-15 12:02:15,898 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-15 12:02:15,898 INFO L290 TraceCheckUtils]: 37: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,898 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-15 12:02:15,898 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-15 12:02:15,898 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-15 12:02:15,899 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-15 12:02:15,899 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-15 12:02:15,899 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-15 12:02:15,899 INFO L290 TraceCheckUtils]: 44: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,899 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-15 12:02:15,899 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-15 12:02:15,899 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-15 12:02:15,899 INFO L290 TraceCheckUtils]: 48: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,899 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-15 12:02:15,899 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-15 12:02:15,900 INFO L290 TraceCheckUtils]: 51: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,900 INFO L290 TraceCheckUtils]: 52: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 12:02:15,900 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-15 12:02:15,901 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-15 12:02:15,901 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-15 12:02:15,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 12:02:15,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-15 12:02:15,901 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-15 12:02:15,901 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-15 12:02:15,902 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-15 12:02:15,902 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-15 12:02:15,903 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-15 12:02:15,903 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-15 12:02:15,903 INFO L290 TraceCheckUtils]: 10: Hoare triple {12765#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-15 12:02:15,903 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12821#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:15,904 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-15 12:02:15,904 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-15 12:02:15,904 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-15 12:02:15,904 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-15 12:02:15,904 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-15 12:02:15,904 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-15 12:02:15,904 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-15 12:02:15,904 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-15 12:02:15,904 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-15 12:02:15,904 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-15 12:02:15,905 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-15 12:02:15,905 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-15 12:02:15,905 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-15 12:02:15,905 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-15 12:02:15,905 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,905 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-15 12:02:15,905 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-15 12:02:15,905 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-15 12:02:15,905 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-15 12:02:15,905 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-15 12:02:15,905 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-15 12:02:15,906 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-15 12:02:15,906 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-15 12:02:15,906 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-15 12:02:15,906 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-15 12:02:15,906 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-15 12:02:15,906 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-15 12:02:15,906 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,906 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-15 12:02:15,906 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-15 12:02:15,906 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-15 12:02:15,907 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-15 12:02:15,907 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-15 12:02:15,907 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-15 12:02:15,907 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-15 12:02:15,907 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-15 12:02:15,907 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-15 12:02:15,907 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,907 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-15 12:02:15,907 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-15 12:02:15,907 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-15 12:02:15,907 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-15 12:02:15,908 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-15 12:02:15,908 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-15 12:02:15,908 INFO L290 TraceCheckUtils]: 56: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,908 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-15 12:02:15,908 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-15 12:02:15,908 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-15 12:02:15,908 INFO L290 TraceCheckUtils]: 60: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,908 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-15 12:02:15,908 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-15 12:02:15,908 INFO L290 TraceCheckUtils]: 63: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:15,908 INFO L290 TraceCheckUtils]: 64: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 12:02:15,909 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-15 12:02:15,909 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-15 12:02:15,909 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-15 12:02:15,909 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-15 12:02:15,909 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-15 12:02:15,909 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-15 12:02:15,909 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-15 12:02:15,909 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-15 12:02:15,910 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:15,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [372729141] [2022-04-15 12:02:15,910 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [372729141] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:15,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1960139617] [2022-04-15 12:02:15,910 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:02:15,910 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:15,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:15,924 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-15 12:02:15,925 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-15 12:02:16,033 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 12:02:16,033 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:16,035 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 12:02:16,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:16,051 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:16,201 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12758#true} is VALID [2022-04-15 12:02:16,202 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-15 12:02:16,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 12:02:16,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-15 12:02:16,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-15 12:02:16,202 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-15 12:02:16,203 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-15 12:02:16,203 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-15 12:02:16,203 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-15 12:02:16,204 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-15 12:02:16,204 INFO L290 TraceCheckUtils]: 10: Hoare triple {12765#(<= 2 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-15 12:02:16,204 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12759#false} is VALID [2022-04-15 12:02:16,204 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-15 12:02:16,205 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-15 12:02:16,205 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-15 12:02:16,205 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-15 12:02:16,205 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-15 12:02:16,205 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-15 12:02:16,205 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-15 12:02:16,205 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-15 12:02:16,205 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-15 12:02:16,205 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-15 12:02:16,205 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-15 12:02:16,206 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-15 12:02:16,206 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-15 12:02:16,206 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-15 12:02:16,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-15 12:02:16,206 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-15 12:02:16,206 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-15 12:02:16,206 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-15 12:02:16,206 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-15 12:02:16,206 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-15 12:02:16,206 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-15 12:02:16,206 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-15 12:02:16,207 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-15 12:02:16,207 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-15 12:02:16,207 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-15 12:02:16,207 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-15 12:02:16,207 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-15 12:02:16,207 INFO L290 TraceCheckUtils]: 39: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-15 12:02:16,207 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-15 12:02:16,207 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-15 12:02:16,207 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-15 12:02:16,207 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-15 12:02:16,207 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-15 12:02:16,208 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-15 12:02:16,208 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-15 12:02:16,208 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-15 12:02:16,208 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-15 12:02:16,208 INFO L290 TraceCheckUtils]: 49: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-15 12:02:16,208 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-15 12:02:16,208 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-15 12:02:16,208 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-15 12:02:16,208 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-15 12:02:16,208 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-15 12:02:16,209 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-15 12:02:16,209 INFO L290 TraceCheckUtils]: 56: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-15 12:02:16,209 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-15 12:02:16,209 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-15 12:02:16,209 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-15 12:02:16,209 INFO L290 TraceCheckUtils]: 60: Hoare triple {12759#false} assume !(~i~0 < ~n~0); {12759#false} is VALID [2022-04-15 12:02:16,209 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-15 12:02:16,209 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-15 12:02:16,209 INFO L290 TraceCheckUtils]: 63: Hoare triple {12759#false} assume !(~lh~0 < ~n~0); {12759#false} is VALID [2022-04-15 12:02:16,209 INFO L290 TraceCheckUtils]: 64: Hoare triple {12759#false} assume true; {12759#false} is VALID [2022-04-15 12:02:16,209 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12759#false} {12759#false} #91#return; {12759#false} is VALID [2022-04-15 12:02:16,210 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-15 12:02:16,210 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-15 12:02:16,210 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-15 12:02:16,210 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-15 12:02:16,210 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-15 12:02:16,210 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-15 12:02:16,210 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-15 12:02:16,210 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:16,347 INFO L290 TraceCheckUtils]: 71: Hoare triple {12759#false} assume !false; {12759#false} is VALID [2022-04-15 12:02:16,348 INFO L290 TraceCheckUtils]: 70: Hoare triple {12759#false} assume 0 == ~cond; {12759#false} is VALID [2022-04-15 12:02:16,348 INFO L290 TraceCheckUtils]: 69: Hoare triple {12759#false} ~cond := #in~cond; {12759#false} is VALID [2022-04-15 12:02:16,348 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-15 12:02:16,348 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-15 12:02:16,348 INFO L290 TraceCheckUtils]: 66: Hoare triple {12759#false} ~i~1 := 0; {12759#false} is VALID [2022-04-15 12:02:16,348 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {12758#true} {12759#false} #91#return; {12759#false} is VALID [2022-04-15 12:02:16,349 INFO L290 TraceCheckUtils]: 64: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 12:02:16,349 INFO L290 TraceCheckUtils]: 63: Hoare triple {12758#true} assume !(~lh~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:16,349 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-15 12:02:16,349 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-15 12:02:16,349 INFO L290 TraceCheckUtils]: 60: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:16,349 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-15 12:02:16,349 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-15 12:02:16,349 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-15 12:02:16,349 INFO L290 TraceCheckUtils]: 56: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:16,349 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-15 12:02:16,349 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-15 12:02:16,350 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-15 12:02:16,350 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-15 12:02:16,350 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-15 12:02:16,350 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-15 12:02:16,350 INFO L290 TraceCheckUtils]: 49: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:16,350 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-15 12:02:16,350 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-15 12:02:16,350 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-15 12:02:16,350 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-15 12:02:16,350 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-15 12:02:16,350 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-15 12:02:16,351 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-15 12:02:16,351 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-15 12:02:16,351 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-15 12:02:16,351 INFO L290 TraceCheckUtils]: 39: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:16,351 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-15 12:02:16,351 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-15 12:02:16,351 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-15 12:02:16,351 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-15 12:02:16,351 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-15 12:02:16,351 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-15 12:02:16,352 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-15 12:02:16,352 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-15 12:02:16,352 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-15 12:02:16,352 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-15 12:02:16,352 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-15 12:02:16,352 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-15 12:02:16,352 INFO L290 TraceCheckUtils]: 26: Hoare triple {12758#true} assume !(~i~0 < ~n~0); {12758#true} is VALID [2022-04-15 12:02:16,352 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-15 12:02:16,352 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-15 12:02:16,352 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-15 12:02:16,353 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-15 12:02:16,353 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-15 12:02:16,353 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-15 12:02:16,353 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-15 12:02:16,353 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-15 12:02:16,353 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-15 12:02:16,353 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-15 12:02:16,353 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-15 12:02:16,353 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-15 12:02:16,353 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-15 12:02:16,353 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-15 12:02:16,354 INFO L272 TraceCheckUtils]: 11: Hoare triple {12759#false} call SelectionSort(); {12758#true} is VALID [2022-04-15 12:02:16,354 INFO L290 TraceCheckUtils]: 10: Hoare triple {13221#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {12759#false} is VALID [2022-04-15 12:02:16,354 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-15 12:02:16,355 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-15 12:02:16,355 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-15 12:02:16,355 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-15 12:02:16,356 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-15 12:02:16,356 INFO L272 TraceCheckUtils]: 4: Hoare triple {12758#true} call #t~ret10 := main(); {12758#true} is VALID [2022-04-15 12:02:16,356 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12758#true} {12758#true} #95#return; {12758#true} is VALID [2022-04-15 12:02:16,356 INFO L290 TraceCheckUtils]: 2: Hoare triple {12758#true} assume true; {12758#true} is VALID [2022-04-15 12:02:16,356 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-15 12:02:16,356 INFO L272 TraceCheckUtils]: 0: Hoare triple {12758#true} call ULTIMATE.init(); {12758#true} is VALID [2022-04-15 12:02:16,357 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-15 12:02:16,357 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1960139617] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:16,357 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:16,357 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 9 [2022-04-15 12:02:16,358 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:16,358 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [671781742] [2022-04-15 12:02:16,358 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [671781742] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:16,358 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:16,359 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 12:02:16,359 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1463901919] [2022-04-15 12:02:16,359 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:16,359 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-15 12:02:16,359 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:16,360 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-15 12:02:16,376 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-15 12:02:16,376 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 12:02:16,376 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:16,376 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 12:02:16,377 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-15 12:02:16,377 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-15 12:02:16,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:16,776 INFO L93 Difference]: Finished difference Result 158 states and 196 transitions. [2022-04-15 12:02:16,776 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 12:02:16,776 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-15 12:02:16,776 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:16,776 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-15 12:02:16,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-04-15 12:02:16,777 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-15 12:02:16,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-04-15 12:02:16,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 71 transitions. [2022-04-15 12:02:16,832 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-15 12:02:16,833 INFO L225 Difference]: With dead ends: 158 [2022-04-15 12:02:16,833 INFO L226 Difference]: Without dead ends: 86 [2022-04-15 12:02:16,833 INFO L912 BasicCegarLoop]: 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-15 12:02:16,834 INFO L913 BasicCegarLoop]: 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-15 12:02:16,834 INFO L914 BasicCegarLoop]: 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-15 12:02:16,834 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-04-15 12:02:17,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 85. [2022-04-15 12:02:17,020 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:17,020 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-15 12:02:17,020 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-15 12:02:17,020 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-15 12:02:17,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:17,022 INFO L93 Difference]: Finished difference Result 86 states and 105 transitions. [2022-04-15 12:02:17,022 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 105 transitions. [2022-04-15 12:02:17,022 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:17,022 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:17,022 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-15 12:02:17,022 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-15 12:02:17,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:17,023 INFO L93 Difference]: Finished difference Result 86 states and 105 transitions. [2022-04-15 12:02:17,023 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 105 transitions. [2022-04-15 12:02:17,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:17,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:17,024 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:17,024 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:17,024 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-15 12:02:17,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 104 transitions. [2022-04-15 12:02:17,025 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 104 transitions. Word has length 72 [2022-04-15 12:02:17,025 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:17,025 INFO L478 AbstractCegarLoop]: Abstraction has 85 states and 104 transitions. [2022-04-15 12:02:17,025 INFO L479 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-15 12:02:17,025 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 104 transitions. [2022-04-15 12:02:17,190 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-15 12:02:17,190 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 104 transitions. [2022-04-15 12:02:17,190 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 12:02:17,190 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:17,191 INFO L499 BasicCegarLoop]: 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-15 12:02:17,210 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-15 12:02:17,391 WARN L460 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-15 12:02:17,391 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:17,391 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:17,392 INFO L85 PathProgramCache]: Analyzing trace with hash -1493400922, now seen corresponding path program 31 times [2022-04-15 12:02:17,392 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:17,392 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2071262942] [2022-04-15 12:02:17,394 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:17,394 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:17,394 INFO L85 PathProgramCache]: Analyzing trace with hash -1493400922, now seen corresponding path program 32 times [2022-04-15 12:02:17,394 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:17,394 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [189429933] [2022-04-15 12:02:17,394 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:17,394 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:17,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:17,461 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:17,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:17,464 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-15 12:02:17,464 INFO L290 TraceCheckUtils]: 1: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 12:02:17,464 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-15 12:02:17,468 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-15 12:02:17,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:17,485 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-15 12:02:17,486 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-15 12:02:17,486 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-15 12:02:17,486 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-15 12:02:17,486 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-15 12:02:17,486 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-15 12:02:17,486 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-15 12:02:17,486 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-15 12:02:17,486 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-15 12:02:17,486 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-15 12:02:17,486 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-15 12:02:17,486 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-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,487 INFO L290 TraceCheckUtils]: 14: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,487 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-15 12:02:17,488 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-15 12:02:17,488 INFO L290 TraceCheckUtils]: 27: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,488 INFO L290 TraceCheckUtils]: 37: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,488 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-15 12:02:17,488 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-15 12:02:17,489 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-15 12:02:17,489 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-15 12:02:17,489 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-15 12:02:17,489 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-15 12:02:17,489 INFO L290 TraceCheckUtils]: 44: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,489 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-15 12:02:17,489 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-15 12:02:17,489 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-15 12:02:17,489 INFO L290 TraceCheckUtils]: 48: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,489 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-15 12:02:17,489 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-15 12:02:17,489 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,489 INFO L290 TraceCheckUtils]: 52: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 12:02:17,489 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-15 12:02:17,490 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-15 12:02:17,490 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-15 12:02:17,490 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 12:02:17,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-15 12:02:17,490 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-15 12:02:17,491 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-15 12:02:17,491 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-15 12:02:17,491 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-15 12:02:17,492 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-15 12:02:17,492 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-15 12:02:17,492 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-15 12:02:17,493 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-15 12:02:17,493 INFO L290 TraceCheckUtils]: 12: Hoare triple {13932#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-15 12:02:17,493 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13988#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:17,493 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-15 12:02:17,493 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-15 12:02:17,493 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-15 12:02:17,493 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-15 12:02:17,493 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-15 12:02:17,493 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-15 12:02:17,493 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-15 12:02:17,493 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,494 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-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,495 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,495 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-15 12:02:17,496 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,496 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-15 12:02:17,496 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-15 12:02:17,496 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-15 12:02:17,496 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-15 12:02:17,496 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-15 12:02:17,496 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-15 12:02:17,496 INFO L290 TraceCheckUtils]: 58: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,496 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-15 12:02:17,496 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-15 12:02:17,496 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-15 12:02:17,496 INFO L290 TraceCheckUtils]: 62: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,496 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-15 12:02:17,496 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-15 12:02:17,496 INFO L290 TraceCheckUtils]: 65: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,497 INFO L290 TraceCheckUtils]: 66: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 12:02:17,497 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-15 12:02:17,497 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-15 12:02:17,497 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-15 12:02:17,497 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-15 12:02:17,497 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-15 12:02:17,497 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-15 12:02:17,497 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-15 12:02:17,497 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-15 12:02:17,497 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:17,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [189429933] [2022-04-15 12:02:17,498 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [189429933] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:17,498 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1796958678] [2022-04-15 12:02:17,498 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:02:17,498 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:17,498 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:17,499 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-15 12:02:17,502 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-15 12:02:17,592 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:02:17,592 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:17,593 INFO L263 TraceCheckSpWp]: Trace formula consists of 309 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 12:02:17,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:17,605 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:17,725 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13924#true} is VALID [2022-04-15 12:02:17,725 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-15 12:02:17,725 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 12:02:17,725 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-15 12:02:17,725 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-15 12:02:17,726 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-15 12:02:17,726 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-15 12:02:17,726 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-15 12:02:17,727 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-15 12:02:17,727 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-15 12:02:17,727 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-15 12:02:17,728 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-15 12:02:17,728 INFO L290 TraceCheckUtils]: 12: Hoare triple {13932#(<= 1 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-15 12:02:17,728 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13925#false} is VALID [2022-04-15 12:02:17,728 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-15 12:02:17,728 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-15 12:02:17,728 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-15 12:02:17,728 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-15 12:02:17,728 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-15 12:02:17,728 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-15 12:02:17,728 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-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,729 INFO L290 TraceCheckUtils]: 28: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,729 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 INFO L290 TraceCheckUtils]: 41: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,730 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-15 12:02:17,731 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-15 12:02:17,731 INFO L290 TraceCheckUtils]: 51: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-15 12:02:17,731 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-15 12:02:17,731 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-15 12:02:17,731 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-15 12:02:17,731 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-15 12:02:17,731 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-15 12:02:17,731 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-15 12:02:17,731 INFO L290 TraceCheckUtils]: 58: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-15 12:02:17,731 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-15 12:02:17,731 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-15 12:02:17,731 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-15 12:02:17,731 INFO L290 TraceCheckUtils]: 62: Hoare triple {13925#false} assume !(~i~0 < ~n~0); {13925#false} is VALID [2022-04-15 12:02:17,731 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-15 12:02:17,732 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-15 12:02:17,732 INFO L290 TraceCheckUtils]: 65: Hoare triple {13925#false} assume !(~lh~0 < ~n~0); {13925#false} is VALID [2022-04-15 12:02:17,732 INFO L290 TraceCheckUtils]: 66: Hoare triple {13925#false} assume true; {13925#false} is VALID [2022-04-15 12:02:17,732 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13925#false} {13925#false} #91#return; {13925#false} is VALID [2022-04-15 12:02:17,732 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-15 12:02:17,732 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-15 12:02:17,732 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-15 12:02:17,732 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-15 12:02:17,732 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-15 12:02:17,732 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-15 12:02:17,732 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-15 12:02:17,732 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:17,864 INFO L290 TraceCheckUtils]: 73: Hoare triple {13925#false} assume !false; {13925#false} is VALID [2022-04-15 12:02:17,864 INFO L290 TraceCheckUtils]: 72: Hoare triple {13925#false} assume 0 == ~cond; {13925#false} is VALID [2022-04-15 12:02:17,864 INFO L290 TraceCheckUtils]: 71: Hoare triple {13925#false} ~cond := #in~cond; {13925#false} is VALID [2022-04-15 12:02:17,864 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-15 12:02:17,864 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-15 12:02:17,864 INFO L290 TraceCheckUtils]: 68: Hoare triple {13925#false} ~i~1 := 0; {13925#false} is VALID [2022-04-15 12:02:17,864 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13924#true} {13925#false} #91#return; {13925#false} is VALID [2022-04-15 12:02:17,864 INFO L290 TraceCheckUtils]: 66: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 12:02:17,864 INFO L290 TraceCheckUtils]: 65: Hoare triple {13924#true} assume !(~lh~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,864 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-15 12:02:17,864 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-15 12:02:17,865 INFO L290 TraceCheckUtils]: 62: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,865 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-15 12:02:17,865 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-15 12:02:17,865 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-15 12:02:17,865 INFO L290 TraceCheckUtils]: 58: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,865 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-15 12:02:17,865 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-15 12:02:17,865 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-15 12:02:17,865 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-15 12:02:17,865 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-15 12:02:17,865 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-15 12:02:17,865 INFO L290 TraceCheckUtils]: 51: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,865 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-15 12:02:17,865 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-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,866 INFO L290 TraceCheckUtils]: 41: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,866 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-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,867 INFO L290 TraceCheckUtils]: 28: Hoare triple {13924#true} assume !(~i~0 < ~n~0); {13924#true} is VALID [2022-04-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,867 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-15 12:02:17,868 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-15 12:02:17,868 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-15 12:02:17,868 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-15 12:02:17,868 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-15 12:02:17,868 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-15 12:02:17,868 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-15 12:02:17,868 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-15 12:02:17,868 INFO L272 TraceCheckUtils]: 13: Hoare triple {13925#false} call SelectionSort(); {13924#true} is VALID [2022-04-15 12:02:17,868 INFO L290 TraceCheckUtils]: 12: Hoare triple {14394#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {13925#false} is VALID [2022-04-15 12:02:17,869 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-15 12:02:17,869 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-15 12:02:17,869 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-15 12:02:17,870 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-15 12:02:17,870 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-15 12:02:17,870 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-15 12:02:17,871 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-15 12:02:17,871 INFO L272 TraceCheckUtils]: 4: Hoare triple {13924#true} call #t~ret10 := main(); {13924#true} is VALID [2022-04-15 12:02:17,871 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13924#true} {13924#true} #95#return; {13924#true} is VALID [2022-04-15 12:02:17,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {13924#true} assume true; {13924#true} is VALID [2022-04-15 12:02:17,871 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-15 12:02:17,871 INFO L272 TraceCheckUtils]: 0: Hoare triple {13924#true} call ULTIMATE.init(); {13924#true} is VALID [2022-04-15 12:02:17,871 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-15 12:02:17,871 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1796958678] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:17,871 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:17,871 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6, 6] total 9 [2022-04-15 12:02:17,872 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:17,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2071262942] [2022-04-15 12:02:17,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2071262942] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:17,872 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:17,872 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 12:02:17,872 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [95851453] [2022-04-15 12:02:17,872 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:17,872 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-15 12:02:17,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:17,873 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-15 12:02:17,889 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-15 12:02:17,889 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 12:02:17,889 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:17,889 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 12:02:17,889 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-04-15 12:02:17,890 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-15 12:02:18,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:18,305 INFO L93 Difference]: Finished difference Result 160 states and 198 transitions. [2022-04-15 12:02:18,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 12:02:18,305 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-15 12:02:18,305 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:18,305 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-15 12:02:18,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 73 transitions. [2022-04-15 12:02:18,306 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-15 12:02:18,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 73 transitions. [2022-04-15 12:02:18,307 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 73 transitions. [2022-04-15 12:02:18,374 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-15 12:02:18,376 INFO L225 Difference]: With dead ends: 160 [2022-04-15 12:02:18,376 INFO L226 Difference]: Without dead ends: 88 [2022-04-15 12:02:18,376 INFO L912 BasicCegarLoop]: 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-15 12:02:18,377 INFO L913 BasicCegarLoop]: 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-15 12:02:18,377 INFO L914 BasicCegarLoop]: 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-15 12:02:18,377 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-15 12:02:18,550 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2022-04-15 12:02:18,550 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:18,550 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-15 12:02:18,550 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-15 12:02:18,550 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-15 12:02:18,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:18,552 INFO L93 Difference]: Finished difference Result 88 states and 107 transitions. [2022-04-15 12:02:18,552 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-04-15 12:02:18,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:18,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:18,552 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-15 12:02:18,552 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-15 12:02:18,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:18,553 INFO L93 Difference]: Finished difference Result 88 states and 107 transitions. [2022-04-15 12:02:18,553 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 107 transitions. [2022-04-15 12:02:18,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:18,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:18,553 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:18,554 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:18,554 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-15 12:02:18,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 106 transitions. [2022-04-15 12:02:18,555 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 106 transitions. Word has length 74 [2022-04-15 12:02:18,555 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:18,555 INFO L478 AbstractCegarLoop]: Abstraction has 87 states and 106 transitions. [2022-04-15 12:02:18,555 INFO L479 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-15 12:02:18,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 106 transitions. [2022-04-15 12:02:18,718 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-15 12:02:18,719 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 106 transitions. [2022-04-15 12:02:18,719 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-15 12:02:18,719 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:18,719 INFO L499 BasicCegarLoop]: 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-15 12:02:18,737 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-15 12:02:18,920 WARN L460 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-15 12:02:18,920 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:18,920 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:18,920 INFO L85 PathProgramCache]: Analyzing trace with hash 1798930824, now seen corresponding path program 33 times [2022-04-15 12:02:18,920 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:18,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1666009765] [2022-04-15 12:02:18,922 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:18,922 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:18,922 INFO L85 PathProgramCache]: Analyzing trace with hash 1798930824, now seen corresponding path program 34 times [2022-04-15 12:02:18,922 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:18,922 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1811150990] [2022-04-15 12:02:18,922 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:18,923 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:18,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:19,008 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:19,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:19,012 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-15 12:02:19,012 INFO L290 TraceCheckUtils]: 1: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 12:02:19,013 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-15 12:02:19,018 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-15 12:02:19,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:19,042 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-15 12:02:19,042 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-15 12:02:19,042 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-15 12:02:19,042 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-15 12:02:19,042 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-15 12:02:19,042 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-15 12:02:19,042 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-15 12:02:19,042 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-15 12:02:19,043 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-15 12:02:19,043 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-15 12:02:19,043 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-15 12:02:19,043 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-15 12:02:19,043 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-15 12:02:19,043 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-15 12:02:19,043 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,043 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-15 12:02:19,043 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-15 12:02:19,043 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-15 12:02:19,044 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-15 12:02:19,044 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-15 12:02:19,044 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-15 12:02:19,044 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-15 12:02:19,044 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-15 12:02:19,044 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-15 12:02:19,044 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-15 12:02:19,044 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-15 12:02:19,044 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-15 12:02:19,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,045 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-15 12:02:19,045 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-15 12:02:19,045 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-15 12:02:19,045 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-15 12:02:19,045 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-15 12:02:19,045 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-15 12:02:19,045 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-15 12:02:19,045 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-15 12:02:19,045 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-15 12:02:19,045 INFO L290 TraceCheckUtils]: 37: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,046 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-15 12:02:19,046 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-15 12:02:19,046 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-15 12:02:19,046 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-15 12:02:19,046 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-15 12:02:19,046 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-15 12:02:19,046 INFO L290 TraceCheckUtils]: 44: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,046 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-15 12:02:19,046 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-15 12:02:19,046 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-15 12:02:19,047 INFO L290 TraceCheckUtils]: 48: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,047 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-15 12:02:19,047 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-15 12:02:19,047 INFO L290 TraceCheckUtils]: 51: Hoare triple {15116#true} assume !(~lh~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,047 INFO L290 TraceCheckUtils]: 52: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 12:02:19,047 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15116#true} {15117#false} #91#return; {15117#false} is VALID [2022-04-15 12:02:19,048 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-15 12:02:19,048 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-15 12:02:19,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 12:02:19,048 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-15 12:02:19,048 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-15 12:02:19,049 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-15 12:02:19,049 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-15 12:02:19,049 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-15 12:02:19,050 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-15 12:02:19,050 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-15 12:02:19,050 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-15 12:02:19,051 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-15 12:02:19,051 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-15 12:02:19,052 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-15 12:02:19,052 INFO L290 TraceCheckUtils]: 14: Hoare triple {15125#(<= 0 main_~i~1)} assume !(~i~1 >= 0); {15117#false} is VALID [2022-04-15 12:02:19,052 INFO L272 TraceCheckUtils]: 15: Hoare triple {15117#false} call SelectionSort(); {15181#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:19,052 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-15 12:02:19,052 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-15 12:02:19,052 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-15 12:02:19,052 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-15 12:02:19,052 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-15 12:02:19,053 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-15 12:02:19,053 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-15 12:02:19,053 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-15 12:02:19,053 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-15 12:02:19,053 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-15 12:02:19,053 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-15 12:02:19,053 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-15 12:02:19,053 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-15 12:02:19,053 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-15 12:02:19,053 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,054 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-15 12:02:19,054 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-15 12:02:19,054 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-15 12:02:19,054 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-15 12:02:19,054 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-15 12:02:19,054 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-15 12:02:19,054 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-15 12:02:19,054 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-15 12:02:19,054 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-15 12:02:19,054 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-15 12:02:19,054 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-15 12:02:19,055 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-15 12:02:19,055 INFO L290 TraceCheckUtils]: 43: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,055 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-15 12:02:19,055 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-15 12:02:19,055 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-15 12:02:19,055 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-15 12:02:19,055 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-15 12:02:19,055 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-15 12:02:19,055 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-15 12:02:19,055 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-15 12:02:19,055 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-15 12:02:19,056 INFO L290 TraceCheckUtils]: 53: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,056 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-15 12:02:19,056 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-15 12:02:19,056 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-15 12:02:19,056 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-15 12:02:19,056 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-15 12:02:19,056 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-15 12:02:19,056 INFO L290 TraceCheckUtils]: 60: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,056 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-15 12:02:19,056 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-15 12:02:19,057 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-15 12:02:19,057 INFO L290 TraceCheckUtils]: 64: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,057 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-15 12:02:19,057 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-15 12:02:19,057 INFO L290 TraceCheckUtils]: 67: Hoare triple {15116#true} assume !(~lh~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:19,057 INFO L290 TraceCheckUtils]: 68: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 12:02:19,057 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15116#true} {15117#false} #91#return; {15117#false} is VALID [2022-04-15 12:02:19,057 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-15 12:02:19,057 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-15 12:02:19,057 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-15 12:02:19,058 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-15 12:02:19,058 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-15 12:02:19,058 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-15 12:02:19,058 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-15 12:02:19,058 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:19,058 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1811150990] [2022-04-15 12:02:19,058 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1811150990] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:19,059 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2104684336] [2022-04-15 12:02:19,059 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:02:19,059 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:19,059 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:19,076 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-15 12:02:19,082 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-15 12:02:19,190 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:02:19,191 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:19,193 INFO L263 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-15 12:02:19,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:19,211 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:19,840 INFO L356 Elim1Store]: treesize reduction 274, result has 11.6 percent of original size [2022-04-15 12:02:19,840 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-15 12:02:20,057 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-15 12:02:20,058 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-15 12:02:20,130 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15116#true} is VALID [2022-04-15 12:02:20,131 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-15 12:02:20,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 12:02:20,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-15 12:02:20,131 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-15 12:02:20,131 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-15 12:02:20,131 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-15 12:02:20,131 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-15 12:02:20,131 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-15 12:02:20,131 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-15 12:02:20,131 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-15 12:02:20,131 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-15 12:02:20,131 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-15 12:02:20,131 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-15 12:02:20,132 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~1 >= 0); {15116#true} is VALID [2022-04-15 12:02:20,132 INFO L272 TraceCheckUtils]: 15: Hoare triple {15116#true} call SelectionSort(); {15116#true} is VALID [2022-04-15 12:02:20,137 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-15 12:02:20,137 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-15 12:02:20,138 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-15 12:02:20,138 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-15 12:02:20,138 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-15 12:02:20,139 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-15 12:02:20,139 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-15 12:02:20,140 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-15 12:02:20,140 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-15 12:02:20,140 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-15 12:02:20,141 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-15 12:02:20,141 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-15 12:02:20,141 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-15 12:02:20,141 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-15 12:02:20,142 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-15 12:02:20,142 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-15 12:02:20,142 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-15 12:02:20,142 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-15 12:02:20,143 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-15 12:02:20,144 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-15 12:02:20,144 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-15 12:02:20,145 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-15 12:02:20,146 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-15 12:02:20,146 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-15 12:02:20,147 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-15 12:02:20,147 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-15 12:02:20,148 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-15 12:02:20,148 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-15 12:02:20,150 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-15 12:02:20,150 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-15 12:02:20,151 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-15 12:02:20,151 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-15 12:02:20,152 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-15 12:02:20,152 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-15 12:02:20,153 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-15 12:02:20,153 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-15 12:02:20,153 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-15 12:02:20,153 INFO L290 TraceCheckUtils]: 53: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 12:02:20,153 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-15 12:02:20,153 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-15 12:02:20,154 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-15 12:02:20,154 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-15 12:02:20,154 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-15 12:02:20,154 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-15 12:02:20,154 INFO L290 TraceCheckUtils]: 60: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 12:02:20,154 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-15 12:02:20,154 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-15 12:02:20,154 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-15 12:02:20,154 INFO L290 TraceCheckUtils]: 64: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 12:02:20,154 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-15 12:02:20,154 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-15 12:02:20,154 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#false} assume !(~lh~0 < ~n~0); {15117#false} is VALID [2022-04-15 12:02:20,154 INFO L290 TraceCheckUtils]: 68: Hoare triple {15117#false} assume true; {15117#false} is VALID [2022-04-15 12:02:20,154 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15117#false} {15116#true} #91#return; {15117#false} is VALID [2022-04-15 12:02:20,155 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-15 12:02:20,155 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-15 12:02:20,155 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-15 12:02:20,155 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-15 12:02:20,155 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-15 12:02:20,155 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-15 12:02:20,155 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-15 12:02:20,155 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:22,075 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-15 12:02:22,226 INFO L356 Elim1Store]: treesize reduction 117, result has 54.3 percent of original size [2022-04-15 12:02:22,226 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-15 12:02:24,071 INFO L290 TraceCheckUtils]: 75: Hoare triple {15117#false} assume !false; {15117#false} is VALID [2022-04-15 12:02:24,071 INFO L290 TraceCheckUtils]: 74: Hoare triple {15117#false} assume 0 == ~cond; {15117#false} is VALID [2022-04-15 12:02:24,072 INFO L290 TraceCheckUtils]: 73: Hoare triple {15117#false} ~cond := #in~cond; {15117#false} is VALID [2022-04-15 12:02:24,072 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-15 12:02:24,072 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-15 12:02:24,072 INFO L290 TraceCheckUtils]: 70: Hoare triple {15117#false} ~i~1 := 0; {15117#false} is VALID [2022-04-15 12:02:24,072 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {15117#false} {15116#true} #91#return; {15117#false} is VALID [2022-04-15 12:02:24,072 INFO L290 TraceCheckUtils]: 68: Hoare triple {15117#false} assume true; {15117#false} is VALID [2022-04-15 12:02:24,072 INFO L290 TraceCheckUtils]: 67: Hoare triple {15117#false} assume !(~lh~0 < ~n~0); {15117#false} is VALID [2022-04-15 12:02:24,072 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-15 12:02:24,072 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-15 12:02:24,072 INFO L290 TraceCheckUtils]: 64: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 12:02:24,072 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-15 12:02:24,072 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-15 12:02:24,072 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-15 12:02:24,072 INFO L290 TraceCheckUtils]: 60: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 12:02:24,073 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-15 12:02:24,073 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-15 12:02:24,073 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-15 12:02:24,073 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-15 12:02:24,073 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-15 12:02:24,073 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-15 12:02:24,073 INFO L290 TraceCheckUtils]: 53: Hoare triple {15117#false} assume !(~i~0 < ~n~0); {15117#false} is VALID [2022-04-15 12:02:24,073 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-15 12:02:24,073 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-15 12:02:24,074 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-15 12:02:24,075 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-15 12:02:24,075 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-15 12:02:24,076 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-15 12:02:24,076 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-15 12:02:24,077 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-15 12:02:24,078 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-15 12:02:24,079 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-15 12:02:24,079 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-15 12:02:24,080 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-15 12:02:24,081 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-15 12:02:24,083 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-15 12:02:24,084 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-15 12:02:24,084 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-15 12:02:24,088 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-15 12:02:24,089 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-15 12:02:24,091 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-15 12:02:24,091 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-15 12:02:24,091 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-15 12:02:24,091 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-15 12:02:24,092 INFO L290 TraceCheckUtils]: 30: Hoare triple {15116#true} assume !(~i~0 < ~n~0); {15116#true} is VALID [2022-04-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,092 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-15 12:02:24,093 INFO L272 TraceCheckUtils]: 15: Hoare triple {15116#true} call SelectionSort(); {15116#true} is VALID [2022-04-15 12:02:24,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {15116#true} assume !(~i~1 >= 0); {15116#true} is VALID [2022-04-15 12:02:24,093 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-15 12:02:24,093 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-15 12:02:24,093 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-15 12:02:24,093 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-15 12:02:24,093 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-15 12:02:24,093 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-15 12:02:24,093 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-15 12:02:24,093 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-15 12:02:24,093 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-15 12:02:24,093 INFO L272 TraceCheckUtils]: 4: Hoare triple {15116#true} call #t~ret10 := main(); {15116#true} is VALID [2022-04-15 12:02:24,093 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15116#true} {15116#true} #95#return; {15116#true} is VALID [2022-04-15 12:02:24,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {15116#true} assume true; {15116#true} is VALID [2022-04-15 12:02:24,094 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-15 12:02:24,094 INFO L272 TraceCheckUtils]: 0: Hoare triple {15116#true} call ULTIMATE.init(); {15116#true} is VALID [2022-04-15 12:02:24,094 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-15 12:02:24,094 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2104684336] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:24,094 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:24,094 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 21, 16] total 42 [2022-04-15 12:02:24,095 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:24,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1666009765] [2022-04-15 12:02:24,095 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1666009765] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:24,095 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:24,095 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 12:02:24,095 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2024804996] [2022-04-15 12:02:24,095 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:24,095 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-15 12:02:24,095 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:24,096 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-15 12:02:24,116 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-15 12:02:24,116 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 12:02:24,116 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:24,117 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 12:02:24,117 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=142, Invalid=1580, Unknown=0, NotChecked=0, Total=1722 [2022-04-15 12:02:24,117 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-15 12:02:24,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:24,772 INFO L93 Difference]: Finished difference Result 177 states and 219 transitions. [2022-04-15 12:02:24,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 12:02:24,772 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-15 12:02:24,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:24,772 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-15 12:02:24,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-15 12:02:24,774 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-15 12:02:24,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 94 transitions. [2022-04-15 12:02:24,776 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 94 transitions. [2022-04-15 12:02:24,847 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-15 12:02:24,848 INFO L225 Difference]: With dead ends: 177 [2022-04-15 12:02:24,848 INFO L226 Difference]: Without dead ends: 105 [2022-04-15 12:02:24,849 INFO L912 BasicCegarLoop]: 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-15 12:02:24,850 INFO L913 BasicCegarLoop]: 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-15 12:02:24,850 INFO L914 BasicCegarLoop]: 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-15 12:02:24,853 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2022-04-15 12:02:25,017 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 89. [2022-04-15 12:02:25,017 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:25,017 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-15 12:02:25,017 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-15 12:02:25,017 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-15 12:02:25,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:25,019 INFO L93 Difference]: Finished difference Result 105 states and 128 transitions. [2022-04-15 12:02:25,019 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 128 transitions. [2022-04-15 12:02:25,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:25,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:25,020 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-15 12:02:25,020 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-15 12:02:25,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:25,022 INFO L93 Difference]: Finished difference Result 105 states and 128 transitions. [2022-04-15 12:02:25,022 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 128 transitions. [2022-04-15 12:02:25,022 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:25,022 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:25,022 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:25,022 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:25,022 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-15 12:02:25,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 108 transitions. [2022-04-15 12:02:25,023 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 108 transitions. Word has length 76 [2022-04-15 12:02:25,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:25,023 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 108 transitions. [2022-04-15 12:02:25,023 INFO L479 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-15 12:02:25,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 108 transitions. [2022-04-15 12:02:25,203 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-15 12:02:25,203 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 108 transitions. [2022-04-15 12:02:25,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-15 12:02:25,203 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:25,203 INFO L499 BasicCegarLoop]: trace histogram [10, 10, 10, 5, 5, 5, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 12:02:25,223 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-15 12:02:25,420 WARN L460 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-15 12:02:25,420 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:25,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:25,420 INFO L85 PathProgramCache]: Analyzing trace with hash 338841578, now seen corresponding path program 35 times [2022-04-15 12:02:25,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:25,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1004913260] [2022-04-15 12:02:25,422 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:25,422 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:25,422 INFO L85 PathProgramCache]: Analyzing trace with hash 338841578, now seen corresponding path program 36 times [2022-04-15 12:02:25,422 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:25,423 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [598519227] [2022-04-15 12:02:25,423 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:25,423 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:25,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:25,825 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:25,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:25,836 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-15 12:02:25,837 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-15 12:02:25,837 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-15 12:02:25,847 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:02:25,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:25,916 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-15 12:02:25,917 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-15 12:02:25,917 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-15 12:02:25,917 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-15 12:02:25,918 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-15 12:02:25,918 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-15 12:02:25,919 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-15 12:02:25,919 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-15 12:02:25,919 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-15 12:02:25,920 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-15 12:02:25,920 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-15 12:02:25,921 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-15 12:02:25,921 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-15 12:02:25,921 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-15 12:02:25,922 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-15 12:02:25,922 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-15 12:02:25,923 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-15 12:02:25,923 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-15 12:02:25,923 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-15 12:02:25,924 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-15 12:02:25,924 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-15 12:02:25,924 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-15 12:02:25,925 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-15 12:02:25,925 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-15 12:02:25,925 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-15 12:02:25,925 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-15 12:02:25,926 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-15 12:02:25,926 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-15 12:02:25,927 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-15 12:02:25,927 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-15 12:02:25,927 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-15 12:02:25,928 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-15 12:02:25,928 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-15 12:02:25,928 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-15 12:02:25,928 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-15 12:02:25,929 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-15 12:02:25,929 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-15 12:02:25,929 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-15 12:02:25,930 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-15 12:02:25,930 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-15 12:02:25,930 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-15 12:02:25,931 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-15 12:02:25,931 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-15 12:02:25,931 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-15 12:02:25,932 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-15 12:02:25,932 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-15 12:02:25,933 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-15 12:02:25,933 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-15 12:02:25,933 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-15 12:02:25,934 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-15 12:02:25,934 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-15 12:02:25,935 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-15 12:02:25,935 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-15 12:02:25,936 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-15 12:02:25,936 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-15 12:02:25,937 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-15 12:02:25,937 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-15 12:02:25,938 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-15 12:02:25,938 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-15 12:02:25,939 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-15 12:02:25,939 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-15 12:02:25,940 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-15 12:02:25,940 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-15 12:02:25,941 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-15 12:02:25,941 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-15 12:02:25,941 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-15 12:02:25,942 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-15 12:02:25,942 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-15 12:02:25,943 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-15 12:02:25,944 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-15 12:02:25,944 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-15 12:02:25,944 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-15 12:02:25,945 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-15 12:02:25,945 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-15 12:02:25,946 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-15 12:02:25,946 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-15 12:02:25,946 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-15 12:02:25,947 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-15 12:02:25,947 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-15 12:02:25,947 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-15 12:02:25,948 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-15 12:02:25,948 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-15 12:02:25,948 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-15 12:02:25,949 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-15 12:02:25,949 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-15 12:02:25,950 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-15 12:02:25,950 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-15 12:02:25,951 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-15 12:02:25,951 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-15 12:02:25,951 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-15 12:02:25,951 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-15 12:02:25,952 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-15 12:02:25,952 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-15 12:02:25,952 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-15 12:02:25,953 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-15 12:02:25,953 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-15 12:02:25,953 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-15 12:02:25,954 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-15 12:02:25,954 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-15 12:02:25,954 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-15 12:02:25,955 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-15 12:02:25,955 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-15 12:02:25,956 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-15 12:02:25,956 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-15 12:02:25,956 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-15 12:02:25,957 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-15 12:02:25,957 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-15 12:02:25,957 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-15 12:02:25,957 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-15 12:02:25,958 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-15 12:02:25,958 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-15 12:02:25,959 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-15 12:02:25,959 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-15 12:02:25,959 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-15 12:02:25,960 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-15 12:02:25,960 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-15 12:02:25,960 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-15 12:02:25,961 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-15 12:02:25,961 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-15 12:02:25,962 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-15 12:02:25,962 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-15 12:02:25,963 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-15 12:02:25,967 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-15 12:02:25,967 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-15 12:02:25,968 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-15 12:02:25,968 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-15 12:02:25,969 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-15 12:02:25,969 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-15 12:02:25,970 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-15 12:02:25,970 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-15 12:02:25,970 INFO L290 TraceCheckUtils]: 76: Hoare triple {16498#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {16428#false} is VALID [2022-04-15 12:02:25,971 INFO L290 TraceCheckUtils]: 77: Hoare triple {16428#false} assume !false; {16428#false} is VALID [2022-04-15 12:02:25,971 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-15 12:02:25,971 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:25,971 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [598519227] [2022-04-15 12:02:25,971 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [598519227] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:25,972 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2069607062] [2022-04-15 12:02:25,972 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:02:25,972 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:25,972 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:25,992 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-15 12:02:25,993 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-15 12:02:26,154 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-15 12:02:26,155 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:26,157 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-15 12:02:26,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:26,174 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:26,211 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 12:02:26,211 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-15 12:02:26,291 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-15 12:02:27,077 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-15 12:02:27,309 INFO L356 Elim1Store]: treesize reduction 13, result has 18.8 percent of original size [2022-04-15 12:02:27,309 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-15 12:02:27,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {16427#true} call ULTIMATE.init(); {16427#true} is VALID [2022-04-15 12:02:27,432 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-15 12:02:27,433 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-15 12:02:27,433 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-15 12:02:27,433 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-15 12:02:27,434 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-15 12:02:27,434 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-15 12:02:27,434 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-15 12:02:27,435 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-15 12:02:27,435 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-15 12:02:27,435 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-15 12:02:27,436 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-15 12:02:27,437 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-15 12:02:27,437 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-15 12:02:27,438 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-15 12:02:27,439 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-15 12:02:27,440 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-15 12:02:27,441 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-15 12:02:27,441 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-15 12:02:27,441 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-15 12:02:27,442 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-15 12:02:27,442 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-15 12:02:27,442 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-15 12:02:27,443 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-15 12:02:27,443 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-15 12:02:27,443 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-15 12:02:27,444 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-15 12:02:27,444 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-15 12:02:27,444 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-15 12:02:27,445 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-15 12:02:27,446 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-15 12:02:27,446 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-15 12:02:27,446 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-15 12:02:27,447 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-15 12:02:27,447 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-15 12:02:27,448 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-15 12:02:27,448 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-15 12:02:27,449 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-15 12:02:27,449 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-15 12:02:27,450 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-15 12:02:27,450 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-15 12:02:27,451 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-15 12:02:27,451 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-15 12:02:27,452 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-15 12:02:27,452 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-15 12:02:27,453 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-15 12:02:27,454 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-15 12:02:27,455 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-15 12:02:27,455 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-15 12:02:27,456 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-15 12:02:27,456 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-15 12:02:27,457 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-15 12:02:27,457 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-15 12:02:27,458 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-15 12:02:27,458 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-15 12:02:27,459 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-15 12:02:27,460 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-15 12:02:27,461 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-15 12:02:27,461 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-15 12:02:27,462 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-15 12:02:27,471 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-15 12:02:27,472 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-15 12:02:27,472 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-15 12:02:27,474 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-15 12:02:27,474 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-15 12:02:27,475 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-15 12:02:27,475 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-15 12:02:27,477 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-15 12:02:27,477 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-15 12:02:27,477 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-15 12:02:27,478 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-15 12:02:27,479 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-15 12:02:27,480 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-15 12:02:27,480 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-15 12:02:27,481 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-15 12:02:27,481 INFO L290 TraceCheckUtils]: 75: Hoare triple {16736#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16740#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:02:27,482 INFO L290 TraceCheckUtils]: 76: Hoare triple {16740#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16428#false} is VALID [2022-04-15 12:02:27,482 INFO L290 TraceCheckUtils]: 77: Hoare triple {16428#false} assume !false; {16428#false} is VALID [2022-04-15 12:02:27,482 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-15 12:02:27,482 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:27,618 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-15 12:02:27,619 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2069607062] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:27,619 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:02:27,620 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 14] total 29 [2022-04-15 12:02:27,620 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:27,620 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1004913260] [2022-04-15 12:02:27,620 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1004913260] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:27,620 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:27,620 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-15 12:02:27,620 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [816555820] [2022-04-15 12:02:27,620 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:27,620 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-15 12:02:27,621 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:27,621 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-15 12:02:27,645 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-15 12:02:27,645 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-15 12:02:27,645 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:27,645 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-15 12:02:27,646 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=826, Unknown=7, NotChecked=58, Total=992 [2022-04-15 12:02:27,646 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-15 12:02:29,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:29,461 INFO L93 Difference]: Finished difference Result 112 states and 134 transitions. [2022-04-15 12:02:29,461 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-15 12:02:29,461 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-15 12:02:29,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:29,462 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-15 12:02:29,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 75 transitions. [2022-04-15 12:02:29,465 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-15 12:02:29,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 75 transitions. [2022-04-15 12:02:29,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 75 transitions. [2022-04-15 12:02:29,558 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-15 12:02:29,559 INFO L225 Difference]: With dead ends: 112 [2022-04-15 12:02:29,560 INFO L226 Difference]: Without dead ends: 110 [2022-04-15 12:02:29,560 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 129 GetRequests, 72 SyntacticMatches, 6 SemanticMatches, 51 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 676 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=403, Invalid=2240, Unknown=13, NotChecked=100, Total=2756 [2022-04-15 12:02:29,561 INFO L913 BasicCegarLoop]: 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-15 12:02:29,561 INFO L914 BasicCegarLoop]: 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-15 12:02:29,562 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-15 12:02:29,828 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 95. [2022-04-15 12:02:29,828 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:29,828 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-15 12:02:29,828 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-15 12:02:29,828 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-15 12:02:29,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:29,830 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2022-04-15 12:02:29,830 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2022-04-15 12:02:29,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:29,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:29,831 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-15 12:02:29,831 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-15 12:02:29,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:29,833 INFO L93 Difference]: Finished difference Result 110 states and 132 transitions. [2022-04-15 12:02:29,833 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 132 transitions. [2022-04-15 12:02:29,833 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:29,833 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:29,833 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:29,834 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:29,834 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-15 12:02:29,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 114 transitions. [2022-04-15 12:02:29,835 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 114 transitions. Word has length 78 [2022-04-15 12:02:29,836 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:29,836 INFO L478 AbstractCegarLoop]: Abstraction has 95 states and 114 transitions. [2022-04-15 12:02:29,836 INFO L479 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-15 12:02:29,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 114 transitions. [2022-04-15 12:02:30,010 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-15 12:02:30,010 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 114 transitions. [2022-04-15 12:02:30,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 12:02:30,011 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:30,011 INFO L499 BasicCegarLoop]: 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-15 12:02:30,031 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-15 12:02:30,226 WARN L460 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-15 12:02:30,227 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:30,227 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:30,227 INFO L85 PathProgramCache]: Analyzing trace with hash -1489934626, now seen corresponding path program 1 times [2022-04-15 12:02:30,227 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:30,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [166288053] [2022-04-15 12:02:30,229 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:30,229 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:30,229 INFO L85 PathProgramCache]: Analyzing trace with hash -1489934626, now seen corresponding path program 2 times [2022-04-15 12:02:30,230 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:30,230 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1431780657] [2022-04-15 12:02:30,230 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:30,230 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:30,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:30,740 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:30,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:30,758 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-15 12:02:30,758 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-15 12:02:30,759 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-15 12:02:30,772 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:02:30,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:30,867 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-15 12:02:30,868 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-15 12:02:30,868 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-15 12:02:30,869 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-15 12:02:30,869 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-15 12:02:30,869 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-15 12:02:30,870 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-15 12:02:30,870 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-15 12:02:30,871 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-15 12:02:30,871 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-15 12:02:30,871 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-15 12:02:30,872 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-15 12:02:30,872 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-15 12:02:30,873 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-15 12:02:30,873 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-15 12:02:30,874 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-15 12:02:30,874 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-15 12:02:30,874 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-15 12:02:30,875 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-15 12:02:30,875 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-15 12:02:30,875 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-15 12:02:30,875 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-15 12:02:30,876 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-15 12:02:30,876 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-15 12:02:30,876 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-15 12:02:30,877 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-15 12:02:30,877 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-15 12:02:30,877 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-15 12:02:30,878 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-15 12:02:30,878 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-15 12:02:30,878 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-15 12:02:30,879 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-15 12:02:30,879 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-15 12:02:30,879 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-15 12:02:30,880 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-15 12:02:30,880 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-15 12:02:30,880 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-15 12:02:30,881 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-15 12:02:30,881 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-15 12:02:30,882 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-15 12:02:30,882 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-15 12:02:30,882 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-15 12:02:30,882 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-15 12:02:30,883 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-15 12:02:30,883 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-15 12:02:30,884 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-15 12:02:30,884 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-15 12:02:30,884 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-15 12:02:30,885 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-15 12:02:30,885 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-15 12:02:30,885 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-15 12:02:30,886 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-15 12:02:30,886 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-15 12:02:30,887 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-15 12:02:30,887 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:02:30,888 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:30,890 INFO L290 TraceCheckUtils]: 0: Hoare triple {17446#true} ~cond := #in~cond; {17446#true} is VALID [2022-04-15 12:02:30,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {17446#true} assume !(0 == ~cond); {17446#true} is VALID [2022-04-15 12:02:30,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {17446#true} assume true; {17446#true} is VALID [2022-04-15 12:02:30,891 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-15 12:02:30,892 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-15 12:02:30,893 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-15 12:02:30,893 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-15 12:02:30,894 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-15 12:02:30,894 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-15 12:02:30,895 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-15 12:02:30,895 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-15 12:02:30,896 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-15 12:02:30,896 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-15 12:02:30,897 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-15 12:02:30,897 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-15 12:02:30,898 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-15 12:02:30,899 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-15 12:02:30,900 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-15 12:02:30,900 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-15 12:02:30,901 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-15 12:02:30,901 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-15 12:02:30,902 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-15 12:02:30,902 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-15 12:02:30,902 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-15 12:02:30,903 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-15 12:02:30,903 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-15 12:02:30,904 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-15 12:02:30,904 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-15 12:02:30,904 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-15 12:02:30,905 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-15 12:02:30,905 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-15 12:02:30,905 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-15 12:02:30,906 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-15 12:02:30,906 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-15 12:02:30,906 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-15 12:02:30,907 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-15 12:02:30,907 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-15 12:02:30,908 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-15 12:02:30,908 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-15 12:02:30,909 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-15 12:02:30,909 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-15 12:02:30,909 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-15 12:02:30,909 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-15 12:02:30,910 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-15 12:02:30,910 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-15 12:02:30,910 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-15 12:02:30,911 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-15 12:02:30,911 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-15 12:02:30,911 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-15 12:02:30,911 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-15 12:02:30,912 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-15 12:02:30,912 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-15 12:02:30,913 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-15 12:02:30,913 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-15 12:02:30,913 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-15 12:02:30,914 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-15 12:02:30,914 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-15 12:02:30,914 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-15 12:02:30,914 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-15 12:02:30,915 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-15 12:02:30,915 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-15 12:02:30,916 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-15 12:02:30,916 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-15 12:02:30,916 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-15 12:02:30,916 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-15 12:02:30,917 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-15 12:02:30,917 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-15 12:02:30,917 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-15 12:02:30,918 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-15 12:02:30,918 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-15 12:02:30,918 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-15 12:02:30,919 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-15 12:02:30,919 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-15 12:02:30,919 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-15 12:02:30,920 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-15 12:02:30,921 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-15 12:02:30,921 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-15 12:02:30,921 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-15 12:02:30,922 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-15 12:02:30,922 INFO L290 TraceCheckUtils]: 75: Hoare triple {17446#true} ~cond := #in~cond; {17446#true} is VALID [2022-04-15 12:02:30,922 INFO L290 TraceCheckUtils]: 76: Hoare triple {17446#true} assume !(0 == ~cond); {17446#true} is VALID [2022-04-15 12:02:30,922 INFO L290 TraceCheckUtils]: 77: Hoare triple {17446#true} assume true; {17446#true} is VALID [2022-04-15 12:02:30,922 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-15 12:02:30,923 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-15 12:02:30,923 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-15 12:02:30,924 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-15 12:02:30,924 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-15 12:02:30,925 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-15 12:02:30,925 INFO L290 TraceCheckUtils]: 84: Hoare triple {17522#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {17447#false} is VALID [2022-04-15 12:02:30,925 INFO L290 TraceCheckUtils]: 85: Hoare triple {17447#false} assume !false; {17447#false} is VALID [2022-04-15 12:02:30,926 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-15 12:02:30,926 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:30,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1431780657] [2022-04-15 12:02:30,926 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1431780657] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:30,926 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [824460561] [2022-04-15 12:02:30,926 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:02:30,926 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:30,926 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:30,940 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-15 12:02:30,949 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-15 12:02:31,069 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:02:31,070 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:31,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 338 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-15 12:02:31,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:31,091 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:31,143 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 12:02:31,144 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-15 12:02:31,279 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-15 12:02:31,384 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:02:31,384 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-15 12:02:31,952 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-15 12:02:34,397 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 12:02:34,397 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-15 12:02:34,479 INFO L272 TraceCheckUtils]: 0: Hoare triple {17446#true} call ULTIMATE.init(); {17446#true} is VALID [2022-04-15 12:02:34,480 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-15 12:02:34,481 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-15 12:02:34,481 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-15 12:02:34,481 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-15 12:02:34,482 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-15 12:02:34,482 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-15 12:02:34,483 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-15 12:02:34,483 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-15 12:02:34,484 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-15 12:02:34,484 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-15 12:02:34,484 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-15 12:02:34,485 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-15 12:02:34,486 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-15 12:02:34,486 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-15 12:02:34,487 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-15 12:02:34,487 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-15 12:02:34,488 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-15 12:02:34,489 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-15 12:02:34,489 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-15 12:02:34,490 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-15 12:02:34,490 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-15 12:02:34,490 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-15 12:02:34,491 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-15 12:02:34,491 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-15 12:02:34,492 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-15 12:02:34,492 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-15 12:02:34,492 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-15 12:02:34,493 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-15 12:02:34,493 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-15 12:02:34,494 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-15 12:02:34,496 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-15 12:02:34,497 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-15 12:02:34,497 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-15 12:02:34,498 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-15 12:02:34,498 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-15 12:02:34,499 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-15 12:02:34,499 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-15 12:02:34,500 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-15 12:02:34,500 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-15 12:02:34,500 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-15 12:02:34,501 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-15 12:02:34,501 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-15 12:02:34,502 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-15 12:02:34,502 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-15 12:02:34,503 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-15 12:02:34,505 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-15 12:02:34,505 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-15 12:02:34,506 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-15 12:02:34,506 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-15 12:02:34,507 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-15 12:02:34,507 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-15 12:02:34,507 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-15 12:02:34,508 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-15 12:02:34,508 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-15 12:02:34,509 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-15 12:02:34,511 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-15 12:02:34,511 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-15 12:02:34,512 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-15 12:02:34,512 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-15 12:02:34,512 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-15 12:02:34,513 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-15 12:02:34,513 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-15 12:02:34,515 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-15 12:02:34,516 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-15 12:02:34,516 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-15 12:02:34,517 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-15 12:02:34,519 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-15 12:02:34,519 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-15 12:02:34,520 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-15 12:02:34,520 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-15 12:02:34,521 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-15 12:02:34,521 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-15 12:02:34,522 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-15 12:02:34,523 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-15 12:02:34,523 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-15 12:02:34,523 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-15 12:02:34,524 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-15 12:02:34,524 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-15 12:02:34,525 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-15 12:02:34,525 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-15 12:02:34,526 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-15 12:02:34,526 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-15 12:02:34,527 INFO L290 TraceCheckUtils]: 83: Hoare triple {17789#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17793#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:02:34,527 INFO L290 TraceCheckUtils]: 84: Hoare triple {17793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17447#false} is VALID [2022-04-15 12:02:34,527 INFO L290 TraceCheckUtils]: 85: Hoare triple {17447#false} assume !false; {17447#false} is VALID [2022-04-15 12:02:34,528 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-15 12:02:34,528 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:34,741 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-15 12:02:34,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [824460561] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:34,743 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:02:34,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 19] total 35 [2022-04-15 12:02:34,743 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:34,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [166288053] [2022-04-15 12:02:34,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [166288053] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:34,743 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:34,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-15 12:02:34,743 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1244699825] [2022-04-15 12:02:34,743 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:34,744 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-15 12:02:34,744 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:34,744 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-15 12:02:34,782 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-15 12:02:34,782 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-15 12:02:34,782 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:34,783 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-15 12:02:34,783 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=1347, Unknown=12, NotChecked=74, Total=1560 [2022-04-15 12:02:34,783 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-15 12:02:38,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:38,012 INFO L93 Difference]: Finished difference Result 126 states and 150 transitions. [2022-04-15 12:02:38,012 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 12:02:38,012 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-15 12:02:38,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:38,012 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-15 12:02:38,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 88 transitions. [2022-04-15 12:02:38,014 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-15 12:02:38,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 88 transitions. [2022-04-15 12:02:38,015 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 88 transitions. [2022-04-15 12:02:38,110 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-15 12:02:38,112 INFO L225 Difference]: With dead ends: 126 [2022-04-15 12:02:38,112 INFO L226 Difference]: Without dead ends: 124 [2022-04-15 12:02:38,113 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 83 SyntacticMatches, 8 SemanticMatches, 58 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 698 ImplicationChecksByTransitivity, 3.7s TimeCoverageRelationStatistics Valid=378, Invalid=3030, Unknown=18, NotChecked=114, Total=3540 [2022-04-15 12:02:38,113 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 132 mSDsluCounter, 19 mSDsCounter, 0 mSdLazyCounter, 737 mSolverCounterSat, 128 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s 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, 1.0s IncrementalHoareTripleChecker+Time [2022-04-15 12:02:38,113 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [132 Valid, 47 Invalid, 865 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [128 Valid, 737 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-15 12:02:38,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2022-04-15 12:02:38,404 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 103. [2022-04-15 12:02:38,405 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:38,405 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-15 12:02:38,405 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-15 12:02:38,405 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-15 12:02:38,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:38,407 INFO L93 Difference]: Finished difference Result 124 states and 148 transitions. [2022-04-15 12:02:38,407 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 148 transitions. [2022-04-15 12:02:38,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:38,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:38,408 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-15 12:02:38,408 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-15 12:02:38,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:38,410 INFO L93 Difference]: Finished difference Result 124 states and 148 transitions. [2022-04-15 12:02:38,410 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 148 transitions. [2022-04-15 12:02:38,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:38,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:38,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:38,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:38,411 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-15 12:02:38,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 122 transitions. [2022-04-15 12:02:38,412 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 122 transitions. Word has length 86 [2022-04-15 12:02:38,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:38,412 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 122 transitions. [2022-04-15 12:02:38,412 INFO L479 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-15 12:02:38,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 122 transitions. [2022-04-15 12:02:38,624 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-15 12:02:38,624 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-15 12:02:38,625 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-15 12:02:38,625 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:38,625 INFO L499 BasicCegarLoop]: 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-15 12:02:38,644 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-15 12:02:38,825 WARN L460 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-15 12:02:38,826 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:38,826 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:38,826 INFO L85 PathProgramCache]: Analyzing trace with hash -34321966, now seen corresponding path program 3 times [2022-04-15 12:02:38,826 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:38,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [799303225] [2022-04-15 12:02:38,830 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:38,830 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:38,830 INFO L85 PathProgramCache]: Analyzing trace with hash -34321966, now seen corresponding path program 4 times [2022-04-15 12:02:38,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:38,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [576768865] [2022-04-15 12:02:38,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:38,830 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:38,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:38,929 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:38,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:38,937 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-15 12:02:38,937 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-15 12:02:38,937 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-15 12:02:38,940 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:02:38,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:39,725 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-15 12:02:39,726 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-15 12:02:39,726 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-15 12:02:39,727 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-15 12:02:39,728 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-15 12:02:39,728 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-15 12:02:39,729 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-15 12:02:39,730 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-15 12:02:39,730 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-15 12:02:39,731 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-15 12:02:39,732 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-15 12:02:39,733 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-15 12:02:39,733 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-15 12:02:39,734 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-15 12:02:39,735 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-15 12:02:39,736 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-15 12:02:39,737 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-15 12:02:39,738 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-15 12:02:39,739 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-15 12:02:39,739 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-15 12:02:39,740 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-15 12:02:39,741 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-15 12:02:39,741 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-15 12:02:39,742 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-15 12:02:39,743 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-15 12:02:39,743 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-15 12:02:39,743 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-15 12:02:39,743 INFO L290 TraceCheckUtils]: 27: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:39,743 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-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,744 INFO L290 TraceCheckUtils]: 37: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,744 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-15 12:02:39,745 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-15 12:02:39,745 INFO L290 TraceCheckUtils]: 44: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:39,745 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-15 12:02:39,745 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-15 12:02:39,745 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-15 12:02:39,745 INFO L290 TraceCheckUtils]: 48: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:39,745 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-15 12:02:39,745 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-15 12:02:39,745 INFO L290 TraceCheckUtils]: 51: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:39,745 INFO L290 TraceCheckUtils]: 52: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 12:02:39,745 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-15 12:02:39,751 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:02:39,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:39,769 INFO L290 TraceCheckUtils]: 0: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 12:02:39,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 12:02:39,769 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 12:02:39,769 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 12:02:39,769 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:02:39,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:39,784 INFO L290 TraceCheckUtils]: 0: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 12:02:39,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 12:02:39,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 12:02:39,784 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 12:02:39,785 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-15 12:02:39,786 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-15 12:02:39,786 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-15 12:02:39,786 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-15 12:02:39,787 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-15 12:02:39,787 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-15 12:02:39,787 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-15 12:02:39,788 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-15 12:02:39,788 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-15 12:02:39,788 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-15 12:02:39,789 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-15 12:02:39,789 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-15 12:02:39,789 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-15 12:02:39,790 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-15 12:02:39,790 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-15 12:02:39,790 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-15 12:02:39,791 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-15 12:02:39,791 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-15 12:02:39,791 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-15 12:02:39,792 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-15 12:02:39,792 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-15 12:02:39,793 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-15 12:02:39,794 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-15 12:02:39,794 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-15 12:02:39,795 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-15 12:02:39,796 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-15 12:02:39,796 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-15 12:02:39,797 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-15 12:02:39,798 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-15 12:02:39,799 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-15 12:02:39,799 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-15 12:02:39,800 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-15 12:02:39,801 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-15 12:02:39,802 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-15 12:02:39,803 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-15 12:02:39,804 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-15 12:02:39,805 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-15 12:02:39,805 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-15 12:02:39,806 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-15 12:02:39,807 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-15 12:02:39,808 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-15 12:02:39,809 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-15 12:02:39,809 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-15 12:02:39,810 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-15 12:02:39,810 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-15 12:02:39,810 INFO L290 TraceCheckUtils]: 45: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:39,810 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-15 12:02:39,810 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-15 12:02:39,810 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-15 12:02:39,810 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-15 12:02:39,810 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-15 12:02:39,810 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-15 12:02:39,810 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-15 12:02:39,810 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-15 12:02:39,811 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-15 12:02:39,811 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:39,811 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-15 12:02:39,811 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-15 12:02:39,811 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-15 12:02:39,811 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-15 12:02:39,811 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-15 12:02:39,811 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-15 12:02:39,811 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:39,811 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-15 12:02:39,811 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-15 12:02:39,811 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-15 12:02:39,811 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:39,812 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-15 12:02:39,812 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-15 12:02:39,812 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:39,812 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 12:02:39,812 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-15 12:02:39,812 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-15 12:02:39,812 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-15 12:02:39,812 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-15 12:02:39,812 INFO L290 TraceCheckUtils]: 75: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 12:02:39,812 INFO L290 TraceCheckUtils]: 76: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 12:02:39,812 INFO L290 TraceCheckUtils]: 77: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 12:02:39,812 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 12:02:39,812 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 12:02:39,813 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-15 12:02:39,813 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-15 12:02:39,813 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-15 12:02:39,813 INFO L290 TraceCheckUtils]: 83: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 12:02:39,813 INFO L290 TraceCheckUtils]: 84: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 12:02:39,813 INFO L290 TraceCheckUtils]: 85: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 12:02:39,813 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 12:02:39,813 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 12:02:39,813 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-15 12:02:39,813 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-15 12:02:39,813 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-15 12:02:39,813 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-15 12:02:39,813 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-15 12:02:39,813 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-15 12:02:39,814 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-15 12:02:39,814 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:39,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [576768865] [2022-04-15 12:02:39,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [576768865] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:39,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1234951926] [2022-04-15 12:02:39,814 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:02:39,814 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:39,815 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:39,832 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-15 12:02:39,851 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-15 12:02:39,994 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:02:39,994 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:39,996 INFO L263 TraceCheckSpWp]: Trace formula consists of 300 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-15 12:02:40,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:40,017 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:40,925 INFO L356 Elim1Store]: treesize reduction 274, result has 11.6 percent of original size [2022-04-15 12:02:40,925 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-15 12:02:41,296 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-15 12:02:41,297 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-15 12:02:41,409 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18596#true} is VALID [2022-04-15 12:02:41,409 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-15 12:02:41,409 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 12:02:41,409 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18596#true} #95#return; {18596#true} is VALID [2022-04-15 12:02:41,410 INFO L272 TraceCheckUtils]: 4: Hoare triple {18596#true} call #t~ret10 := main(); {18596#true} is VALID [2022-04-15 12:02:41,410 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-15 12:02:41,410 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-15 12:02:41,410 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-15 12:02:41,410 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-15 12:02:41,410 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-15 12:02:41,410 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-15 12:02:41,410 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-15 12:02:41,410 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-15 12:02:41,410 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-15 12:02:41,410 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-15 12:02:41,410 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-15 12:02:41,410 INFO L290 TraceCheckUtils]: 16: Hoare triple {18596#true} assume !(~i~1 >= 0); {18596#true} is VALID [2022-04-15 12:02:41,410 INFO L272 TraceCheckUtils]: 17: Hoare triple {18596#true} call SelectionSort(); {18596#true} is VALID [2022-04-15 12:02:41,411 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-15 12:02:41,411 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-15 12:02:41,412 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-15 12:02:41,412 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-15 12:02:41,412 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-15 12:02:41,413 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-15 12:02:41,413 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-15 12:02:41,414 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-15 12:02:41,414 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-15 12:02:41,414 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-15 12:02:41,415 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-15 12:02:41,415 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-15 12:02:41,415 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-15 12:02:41,416 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-15 12:02:41,416 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-15 12:02:41,416 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-15 12:02:41,416 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-15 12:02:41,417 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-15 12:02:41,417 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-15 12:02:41,418 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-15 12:02:41,419 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-15 12:02:41,420 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-15 12:02:41,420 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-15 12:02:41,421 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-15 12:02:41,422 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-15 12:02:41,422 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-15 12:02:41,423 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-15 12:02:41,423 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-15 12:02:41,425 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-15 12:02:41,426 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-15 12:02:41,426 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-15 12:02:41,427 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-15 12:02:41,428 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-15 12:02:41,428 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-15 12:02:41,429 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-15 12:02:41,430 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-15 12:02:41,430 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-15 12:02:41,430 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:41,430 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-15 12:02:41,430 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-15 12:02:41,430 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-15 12:02:41,430 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-15 12:02:41,430 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-15 12:02:41,430 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-15 12:02:41,430 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:41,430 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-15 12:02:41,430 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-15 12:02:41,430 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-15 12:02:41,431 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:41,431 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-15 12:02:41,431 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-15 12:02:41,431 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:41,431 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 12:02:41,431 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18596#true} #91#return; {18597#false} is VALID [2022-04-15 12:02:41,431 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-15 12:02:41,431 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-15 12:02:41,431 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-15 12:02:41,431 INFO L290 TraceCheckUtils]: 75: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-15 12:02:41,431 INFO L290 TraceCheckUtils]: 76: Hoare triple {18597#false} assume !(0 == ~cond); {18597#false} is VALID [2022-04-15 12:02:41,431 INFO L290 TraceCheckUtils]: 77: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 12:02:41,431 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18597#false} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 12:02:41,431 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 12:02:41,432 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-15 12:02:41,432 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-15 12:02:41,432 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-15 12:02:41,432 INFO L290 TraceCheckUtils]: 83: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-15 12:02:41,432 INFO L290 TraceCheckUtils]: 84: Hoare triple {18597#false} assume !(0 == ~cond); {18597#false} is VALID [2022-04-15 12:02:41,432 INFO L290 TraceCheckUtils]: 85: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 12:02:41,432 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18597#false} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 12:02:41,432 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 12:02:41,432 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-15 12:02:41,432 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-15 12:02:41,432 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-15 12:02:41,432 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-15 12:02:41,432 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-15 12:02:41,432 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-15 12:02:41,433 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-15 12:02:41,433 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:02:43,711 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-15 12:02:43,865 INFO L356 Elim1Store]: treesize reduction 117, result has 54.3 percent of original size [2022-04-15 12:02:43,865 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-15 12:02:45,363 INFO L290 TraceCheckUtils]: 93: Hoare triple {18597#false} assume !false; {18597#false} is VALID [2022-04-15 12:02:45,363 INFO L290 TraceCheckUtils]: 92: Hoare triple {18597#false} assume 0 == ~cond; {18597#false} is VALID [2022-04-15 12:02:45,364 INFO L290 TraceCheckUtils]: 91: Hoare triple {18597#false} ~cond := #in~cond; {18597#false} is VALID [2022-04-15 12:02:45,364 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-15 12:02:45,364 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-15 12:02:45,364 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-15 12:02:45,364 INFO L290 TraceCheckUtils]: 87: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 12:02:45,364 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 12:02:45,364 INFO L290 TraceCheckUtils]: 85: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 12:02:45,364 INFO L290 TraceCheckUtils]: 84: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 12:02:45,364 INFO L290 TraceCheckUtils]: 83: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 12:02:45,364 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-15 12:02:45,364 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-15 12:02:45,364 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-15 12:02:45,364 INFO L290 TraceCheckUtils]: 79: Hoare triple {18597#false} havoc #t~mem9; {18597#false} is VALID [2022-04-15 12:02:45,365 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {18596#true} {18597#false} #93#return; {18597#false} is VALID [2022-04-15 12:02:45,365 INFO L290 TraceCheckUtils]: 77: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 12:02:45,365 INFO L290 TraceCheckUtils]: 76: Hoare triple {18596#true} assume !(0 == ~cond); {18596#true} is VALID [2022-04-15 12:02:45,365 INFO L290 TraceCheckUtils]: 75: Hoare triple {18596#true} ~cond := #in~cond; {18596#true} is VALID [2022-04-15 12:02:45,365 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-15 12:02:45,365 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-15 12:02:45,365 INFO L290 TraceCheckUtils]: 72: Hoare triple {18597#false} ~i~1 := 0; {18597#false} is VALID [2022-04-15 12:02:45,365 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18597#false} {18596#true} #91#return; {18597#false} is VALID [2022-04-15 12:02:45,365 INFO L290 TraceCheckUtils]: 70: Hoare triple {18597#false} assume true; {18597#false} is VALID [2022-04-15 12:02:45,365 INFO L290 TraceCheckUtils]: 69: Hoare triple {18597#false} assume !(~lh~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:45,365 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-15 12:02:45,365 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-15 12:02:45,365 INFO L290 TraceCheckUtils]: 66: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:45,365 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-15 12:02:45,365 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-15 12:02:45,366 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-15 12:02:45,366 INFO L290 TraceCheckUtils]: 62: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:45,366 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-15 12:02:45,366 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-15 12:02:45,366 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-15 12:02:45,366 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-15 12:02:45,368 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-15 12:02:45,368 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-15 12:02:45,368 INFO L290 TraceCheckUtils]: 55: Hoare triple {18597#false} assume !(~i~0 < ~n~0); {18597#false} is VALID [2022-04-15 12:02:45,369 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-15 12:02:45,369 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-15 12:02:45,369 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-15 12:02:45,370 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-15 12:02:45,371 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-15 12:02:45,371 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-15 12:02:45,372 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-15 12:02:45,373 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-15 12:02:45,374 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-15 12:02:45,375 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-15 12:02:45,375 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-15 12:02:45,376 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-15 12:02:45,376 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-15 12:02:45,379 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-15 12:02:45,380 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-15 12:02:45,381 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-15 12:02:45,384 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-15 12:02:45,385 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-15 12:02:45,388 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-15 12:02:45,388 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-15 12:02:45,388 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-15 12:02:45,389 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-15 12:02:45,389 INFO L290 TraceCheckUtils]: 32: Hoare triple {18596#true} assume !(~i~0 < ~n~0); {18596#true} is VALID [2022-04-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,389 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-15 12:02:45,390 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-15 12:02:45,390 INFO L272 TraceCheckUtils]: 17: Hoare triple {18596#true} call SelectionSort(); {18596#true} is VALID [2022-04-15 12:02:45,390 INFO L290 TraceCheckUtils]: 16: Hoare triple {18596#true} assume !(~i~1 >= 0); {18596#true} is VALID [2022-04-15 12:02:45,390 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-15 12:02:45,390 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-15 12:02:45,390 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-15 12:02:45,390 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-15 12:02:45,390 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-15 12:02:45,390 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-15 12:02:45,390 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-15 12:02:45,390 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-15 12:02:45,390 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-15 12:02:45,390 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-15 12:02:45,390 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-15 12:02:45,391 INFO L272 TraceCheckUtils]: 4: Hoare triple {18596#true} call #t~ret10 := main(); {18596#true} is VALID [2022-04-15 12:02:45,391 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18596#true} {18596#true} #95#return; {18596#true} is VALID [2022-04-15 12:02:45,391 INFO L290 TraceCheckUtils]: 2: Hoare triple {18596#true} assume true; {18596#true} is VALID [2022-04-15 12:02:45,391 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-15 12:02:45,391 INFO L272 TraceCheckUtils]: 0: Hoare triple {18596#true} call ULTIMATE.init(); {18596#true} is VALID [2022-04-15 12:02:45,391 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-15 12:02:45,391 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1234951926] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:02:45,392 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:02:45,392 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 21, 16] total 59 [2022-04-15 12:02:45,392 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:02:45,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [799303225] [2022-04-15 12:02:45,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [799303225] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:02:45,392 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:02:45,392 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-15 12:02:45,392 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1293731828] [2022-04-15 12:02:45,392 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:02:45,392 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-15 12:02:45,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:02:45,393 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-15 12:02:45,439 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-15 12:02:45,440 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-15 12:02:45,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:45,440 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-15 12:02:45,441 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=278, Invalid=3144, Unknown=0, NotChecked=0, Total=3422 [2022-04-15 12:02:45,441 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-15 12:02:55,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:55,323 INFO L93 Difference]: Finished difference Result 410 states and 529 transitions. [2022-04-15 12:02:55,323 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 68 states. [2022-04-15 12:02:55,323 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-15 12:02:55,323 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:02:55,323 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-15 12:02:55,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 188 transitions. [2022-04-15 12:02:55,325 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-15 12:02:55,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 188 transitions. [2022-04-15 12:02:55,327 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 188 transitions. [2022-04-15 12:02:55,589 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-15 12:02:55,597 INFO L225 Difference]: With dead ends: 410 [2022-04-15 12:02:55,597 INFO L226 Difference]: Without dead ends: 350 [2022-04-15 12:02:55,600 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 285 GetRequests, 163 SyntacticMatches, 0 SemanticMatches, 122 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3940 ImplicationChecksByTransitivity, 6.9s TimeCoverageRelationStatistics Valid=1711, Invalid=13541, Unknown=0, NotChecked=0, Total=15252 [2022-04-15 12:02:55,601 INFO L913 BasicCegarLoop]: 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-15 12:02:55,601 INFO L914 BasicCegarLoop]: 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-15 12:02:55,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 350 states. [2022-04-15 12:02:56,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 350 to 233. [2022-04-15 12:02:56,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:02:56,994 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-15 12:02:56,994 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-15 12:02:56,995 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-15 12:02:56,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:56,999 INFO L93 Difference]: Finished difference Result 350 states and 450 transitions. [2022-04-15 12:02:57,000 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 450 transitions. [2022-04-15 12:02:57,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:57,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:57,000 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-15 12:02:57,001 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-15 12:02:57,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:02:57,006 INFO L93 Difference]: Finished difference Result 350 states and 450 transitions. [2022-04-15 12:02:57,006 INFO L276 IsEmpty]: Start isEmpty. Operand 350 states and 450 transitions. [2022-04-15 12:02:57,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:02:57,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:02:57,006 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:02:57,006 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:02:57,007 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-15 12:02:57,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 313 transitions. [2022-04-15 12:02:57,010 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 313 transitions. Word has length 94 [2022-04-15 12:02:57,010 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:02:57,010 INFO L478 AbstractCegarLoop]: Abstraction has 233 states and 313 transitions. [2022-04-15 12:02:57,011 INFO L479 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-15 12:02:57,011 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 313 transitions. [2022-04-15 12:02:57,909 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-15 12:02:57,909 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 313 transitions. [2022-04-15 12:02:57,910 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-15 12:02:57,910 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:02:57,910 INFO L499 BasicCegarLoop]: 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-15 12:02:57,927 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-15 12:02:58,123 WARN L460 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-15 12:02:58,123 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:02:58,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:02:58,124 INFO L85 PathProgramCache]: Analyzing trace with hash -2062908076, now seen corresponding path program 1 times [2022-04-15 12:02:58,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:02:58,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1008697128] [2022-04-15 12:02:58,126 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:02:58,126 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:02:58,126 INFO L85 PathProgramCache]: Analyzing trace with hash -2062908076, now seen corresponding path program 2 times [2022-04-15 12:02:58,126 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:02:58,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [850928202] [2022-04-15 12:02:58,126 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:02:58,126 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:02:58,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:58,234 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:02:58,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:58,240 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-15 12:02:58,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {21405#(= |~#array~0.offset| 0)} assume true; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 12:02:58,241 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21405#(= |~#array~0.offset| 0)} {21400#true} #95#return; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 12:02:58,243 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:02:58,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:59,517 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-15 12:02:59,518 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-15 12:02:59,519 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-15 12:02:59,520 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-15 12:02:59,521 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-15 12:02:59,521 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-15 12:02:59,522 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-15 12:02:59,522 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-15 12:02:59,523 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-15 12:02:59,524 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-15 12:02:59,524 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-15 12:02:59,525 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-15 12:02:59,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-15 12:02:59,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-15 12:02:59,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-15 12:02:59,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-15 12:02:59,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-15 12:02:59,531 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-15 12:02:59,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-15 12:02:59,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-15 12:02:59,533 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-15 12:02:59,534 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-15 12:02:59,535 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-15 12:02:59,536 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-15 12:02:59,536 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-15 12:02:59,537 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-15 12:02:59,538 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-15 12:02:59,538 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-15 12:02:59,539 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-15 12:02:59,540 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-15 12:02:59,541 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-15 12:02:59,541 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-15 12:02:59,542 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-15 12:02:59,543 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-15 12:02:59,544 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-15 12:02:59,544 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-15 12:02:59,545 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-15 12:02:59,545 INFO L290 TraceCheckUtils]: 37: Hoare triple {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 12:02:59,545 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-15 12:02:59,545 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-15 12:02:59,545 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-15 12:02:59,545 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-15 12:02:59,545 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-15 12:02:59,545 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-15 12:02:59,546 INFO L290 TraceCheckUtils]: 44: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 12:02:59,546 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-15 12:02:59,546 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-15 12:02:59,546 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-15 12:02:59,546 INFO L290 TraceCheckUtils]: 48: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 12:02:59,546 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-15 12:02:59,546 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-15 12:02:59,546 INFO L290 TraceCheckUtils]: 51: Hoare triple {21401#false} assume !(~lh~0 < ~n~0); {21401#false} is VALID [2022-04-15 12:02:59,546 INFO L290 TraceCheckUtils]: 52: Hoare triple {21401#false} assume true; {21401#false} is VALID [2022-04-15 12:02:59,546 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {21401#false} {21405#(= |~#array~0.offset| 0)} #91#return; {21401#false} is VALID [2022-04-15 12:02:59,547 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:02:59,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:59,553 INFO L290 TraceCheckUtils]: 0: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-15 12:02:59,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-15 12:02:59,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-15 12:02:59,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-15 12:02:59,554 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:02:59,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:59,556 INFO L290 TraceCheckUtils]: 0: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-15 12:02:59,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-15 12:02:59,556 INFO L290 TraceCheckUtils]: 2: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-15 12:02:59,556 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-15 12:02:59,557 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-15 12:02:59,557 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-15 12:02:59,557 INFO L290 TraceCheckUtils]: 2: Hoare triple {21405#(= |~#array~0.offset| 0)} assume true; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 12:02:59,557 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21405#(= |~#array~0.offset| 0)} {21400#true} #95#return; {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 12:02:59,558 INFO L272 TraceCheckUtils]: 4: Hoare triple {21405#(= |~#array~0.offset| 0)} call #t~ret10 := main(); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 12:02:59,558 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-15 12:02:59,558 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-15 12:02:59,559 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-15 12:02:59,559 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-15 12:02:59,559 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-15 12:02:59,559 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-15 12:02:59,560 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-15 12:02:59,560 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-15 12:02:59,560 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-15 12:02:59,563 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-15 12:02:59,563 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-15 12:02:59,564 INFO L290 TraceCheckUtils]: 16: Hoare triple {21405#(= |~#array~0.offset| 0)} assume !(~i~1 >= 0); {21405#(= |~#array~0.offset| 0)} is VALID [2022-04-15 12:02:59,564 INFO L272 TraceCheckUtils]: 17: Hoare triple {21405#(= |~#array~0.offset| 0)} call SelectionSort(); {21469#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-15 12:02:59,564 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-15 12:02:59,565 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-15 12:02:59,566 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-15 12:02:59,566 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-15 12:02:59,567 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-15 12:02:59,568 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-15 12:02:59,569 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-15 12:02:59,569 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-15 12:02:59,570 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-15 12:02:59,570 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-15 12:02:59,571 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-15 12:02:59,572 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-15 12:02:59,572 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-15 12:02:59,573 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-15 12:02:59,574 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-15 12:02:59,575 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-15 12:02:59,576 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-15 12:02:59,577 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-15 12:02:59,578 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-15 12:02:59,578 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-15 12:02:59,579 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-15 12:02:59,580 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-15 12:02:59,581 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-15 12:02:59,581 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-15 12:02:59,582 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-15 12:02:59,583 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-15 12:02:59,583 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-15 12:02:59,584 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-15 12:02:59,585 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-15 12:02:59,586 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-15 12:02:59,586 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-15 12:02:59,587 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-15 12:02:59,588 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-15 12:02:59,589 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-15 12:02:59,589 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-15 12:02:59,589 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-15 12:02:59,590 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-15 12:02:59,590 INFO L290 TraceCheckUtils]: 55: Hoare triple {21498#(<= (+ SelectionSort_~i~0 1) ~n~0)} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 12:02:59,590 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-15 12:02:59,590 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-15 12:02:59,591 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-15 12:02:59,591 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-15 12:02:59,591 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-15 12:02:59,591 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-15 12:02:59,591 INFO L290 TraceCheckUtils]: 62: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 12:02:59,591 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-15 12:02:59,591 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-15 12:02:59,591 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-15 12:02:59,591 INFO L290 TraceCheckUtils]: 66: Hoare triple {21401#false} assume !(~i~0 < ~n~0); {21401#false} is VALID [2022-04-15 12:02:59,591 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-15 12:02:59,591 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-15 12:02:59,591 INFO L290 TraceCheckUtils]: 69: Hoare triple {21401#false} assume !(~lh~0 < ~n~0); {21401#false} is VALID [2022-04-15 12:02:59,591 INFO L290 TraceCheckUtils]: 70: Hoare triple {21401#false} assume true; {21401#false} is VALID [2022-04-15 12:02:59,591 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {21401#false} {21405#(= |~#array~0.offset| 0)} #91#return; {21401#false} is VALID [2022-04-15 12:02:59,592 INFO L290 TraceCheckUtils]: 72: Hoare triple {21401#false} ~i~1 := 0; {21401#false} is VALID [2022-04-15 12:02:59,592 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-15 12:02:59,592 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-15 12:02:59,592 INFO L290 TraceCheckUtils]: 75: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-15 12:02:59,592 INFO L290 TraceCheckUtils]: 76: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-15 12:02:59,592 INFO L290 TraceCheckUtils]: 77: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-15 12:02:59,592 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-15 12:02:59,592 INFO L290 TraceCheckUtils]: 79: Hoare triple {21401#false} havoc #t~mem9; {21401#false} is VALID [2022-04-15 12:02:59,592 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-15 12:02:59,592 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-15 12:02:59,592 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-15 12:02:59,592 INFO L290 TraceCheckUtils]: 83: Hoare triple {21400#true} ~cond := #in~cond; {21400#true} is VALID [2022-04-15 12:02:59,592 INFO L290 TraceCheckUtils]: 84: Hoare triple {21400#true} assume !(0 == ~cond); {21400#true} is VALID [2022-04-15 12:02:59,592 INFO L290 TraceCheckUtils]: 85: Hoare triple {21400#true} assume true; {21400#true} is VALID [2022-04-15 12:02:59,592 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {21400#true} {21401#false} #93#return; {21401#false} is VALID [2022-04-15 12:02:59,593 INFO L290 TraceCheckUtils]: 87: Hoare triple {21401#false} havoc #t~mem9; {21401#false} is VALID [2022-04-15 12:02:59,593 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-15 12:02:59,593 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-15 12:02:59,593 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-15 12:02:59,593 INFO L290 TraceCheckUtils]: 91: Hoare triple {21401#false} ~cond := #in~cond; {21401#false} is VALID [2022-04-15 12:02:59,593 INFO L290 TraceCheckUtils]: 92: Hoare triple {21401#false} assume 0 == ~cond; {21401#false} is VALID [2022-04-15 12:02:59,593 INFO L290 TraceCheckUtils]: 93: Hoare triple {21401#false} assume !false; {21401#false} is VALID [2022-04-15 12:02:59,594 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-15 12:02:59,594 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:02:59,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [850928202] [2022-04-15 12:02:59,594 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [850928202] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:02:59,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [174896325] [2022-04-15 12:02:59,594 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:02:59,594 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:02:59,594 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:02:59,595 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-15 12:02:59,596 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-15 12:02:59,723 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:02:59,724 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:02:59,726 INFO L263 TraceCheckSpWp]: Trace formula consists of 351 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-15 12:02:59,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:02:59,745 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:02:59,807 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 12:02:59,807 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-15 12:02:59,934 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-15 12:03:00,068 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:03:00,068 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-15 12:03:00,163 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:03:00,164 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-15 12:03:00,816 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-15 12:03:01,625 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 12:03:01,625 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-15 12:03:01,751 INFO L272 TraceCheckUtils]: 0: Hoare triple {21400#true} call ULTIMATE.init(); {21400#true} is VALID [2022-04-15 12:03:01,752 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-15 12:03:01,752 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-15 12:03:01,753 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-15 12:03:01,753 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-15 12:03:01,754 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-15 12:03:01,754 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-15 12:03:01,754 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-15 12:03:01,755 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-15 12:03:01,755 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-15 12:03:01,756 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-15 12:03:01,756 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-15 12:03:01,757 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-15 12:03:01,758 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-15 12:03:01,758 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-15 12:03:01,759 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-15 12:03:01,759 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-15 12:03:01,760 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-15 12:03:01,760 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-15 12:03:01,760 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-15 12:03:01,761 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-15 12:03:01,761 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-15 12:03:01,761 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-15 12:03:01,762 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-15 12:03:01,762 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-15 12:03:01,763 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-15 12:03:01,763 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-15 12:03:01,763 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-15 12:03:01,764 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-15 12:03:01,764 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-15 12:03:01,765 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-15 12:03:01,765 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-15 12:03:01,765 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-15 12:03:01,766 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-15 12:03:01,766 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-15 12:03:01,767 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-15 12:03:01,767 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-15 12:03:01,768 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-15 12:03:01,768 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-15 12:03:01,769 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-15 12:03:01,769 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-15 12:03:01,769 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-15 12:03:01,770 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-15 12:03:01,770 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-15 12:03:01,771 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-15 12:03:01,771 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-15 12:03:01,773 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-15 12:03:01,774 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-15 12:03:01,774 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-15 12:03:01,774 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-15 12:03:01,775 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-15 12:03:01,775 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-15 12:03:01,776 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-15 12:03:01,776 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-15 12:03:01,777 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-15 12:03:01,777 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-15 12:03:01,779 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-15 12:03:01,779 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-15 12:03:01,780 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-15 12:03:01,780 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-15 12:03:01,780 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-15 12:03:01,781 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-15 12:03:01,781 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-15 12:03:01,783 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-15 12:03:01,784 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-15 12:03:01,784 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-15 12:03:01,785 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-15 12:03:01,786 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-15 12:03:01,787 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-15 12:03:01,787 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-15 12:03:01,788 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-15 12:03:01,788 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-15 12:03:01,789 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-15 12:03:01,789 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-15 12:03:01,790 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-15 12:03:01,790 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-15 12:03:01,791 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-15 12:03:01,791 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-15 12:03:01,792 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-15 12:03:01,792 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-15 12:03:01,792 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-15 12:03:01,793 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-15 12:03:01,794 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-15 12:03:01,794 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-15 12:03:01,794 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-15 12:03:01,795 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-15 12:03:01,795 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-15 12:03:01,796 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-15 12:03:01,796 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-15 12:03:01,796 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-15 12:03:01,797 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-15 12:03:01,797 INFO L290 TraceCheckUtils]: 91: Hoare triple {21788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:03:01,798 INFO L290 TraceCheckUtils]: 92: Hoare triple {21792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21401#false} is VALID [2022-04-15 12:03:01,798 INFO L290 TraceCheckUtils]: 93: Hoare triple {21401#false} assume !false; {21401#false} is VALID [2022-04-15 12:03:01,798 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-15 12:03:01,798 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:03:02,126 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-15 12:03:02,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [174896325] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:03:02,127 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:03:02,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 20] total 52 [2022-04-15 12:03:02,128 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:03:02,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1008697128] [2022-04-15 12:03:02,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1008697128] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:03:02,128 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:03:02,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-15 12:03:02,128 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [689246512] [2022-04-15 12:03:02,128 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:03:02,129 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-15 12:03:02,130 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:03:02,130 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-15 12:03:02,189 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-15 12:03:02,189 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-15 12:03:02,190 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:03:02,190 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-15 12:03:02,191 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=229, Invalid=2957, Unknown=10, NotChecked=110, Total=3306 [2022-04-15 12:03:02,191 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-15 12:03:19,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:03:19,246 INFO L93 Difference]: Finished difference Result 762 states and 1052 transitions. [2022-04-15 12:03:19,246 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 92 states. [2022-04-15 12:03:19,246 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-15 12:03:19,246 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:03:19,246 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-15 12:03:19,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 229 transitions. [2022-04-15 12:03:19,249 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-15 12:03:19,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 229 transitions. [2022-04-15 12:03:19,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 229 transitions. [2022-04-15 12:03:19,582 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-15 12:03:19,607 INFO L225 Difference]: With dead ends: 762 [2022-04-15 12:03:19,607 INFO L226 Difference]: Without dead ends: 701 [2022-04-15 12:03:19,611 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 246 GetRequests, 93 SyntacticMatches, 8 SemanticMatches, 145 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 5994 ImplicationChecksByTransitivity, 9.4s TimeCoverageRelationStatistics Valid=2620, Invalid=18543, Unknown=11, NotChecked=288, Total=21462 [2022-04-15 12:03:19,611 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 372 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 963 mSolverCounterSat, 357 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 12:03:19,611 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [372 Valid, 38 Invalid, 1320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [357 Valid, 963 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-15 12:03:19,612 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 701 states. [2022-04-15 12:03:23,284 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 701 to 465. [2022-04-15 12:03:23,284 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:03:23,285 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-15 12:03:23,285 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-15 12:03:23,286 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-15 12:03:23,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:03:23,302 INFO L93 Difference]: Finished difference Result 701 states and 959 transitions. [2022-04-15 12:03:23,302 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 959 transitions. [2022-04-15 12:03:23,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:03:23,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:03:23,304 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-15 12:03:23,304 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-15 12:03:23,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:03:23,319 INFO L93 Difference]: Finished difference Result 701 states and 959 transitions. [2022-04-15 12:03:23,320 INFO L276 IsEmpty]: Start isEmpty. Operand 701 states and 959 transitions. [2022-04-15 12:03:23,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:03:23,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:03:23,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:03:23,320 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:03:23,321 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-15 12:03:23,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 465 states to 465 states and 642 transitions. [2022-04-15 12:03:23,330 INFO L78 Accepts]: Start accepts. Automaton has 465 states and 642 transitions. Word has length 94 [2022-04-15 12:03:23,330 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:03:23,330 INFO L478 AbstractCegarLoop]: Abstraction has 465 states and 642 transitions. [2022-04-15 12:03:23,331 INFO L479 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-15 12:03:23,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 465 states and 642 transitions. [2022-04-15 12:03:25,605 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-15 12:03:25,605 INFO L276 IsEmpty]: Start isEmpty. Operand 465 states and 642 transitions. [2022-04-15 12:03:25,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-15 12:03:25,606 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:03:25,606 INFO L499 BasicCegarLoop]: 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-15 12:03:25,627 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-15 12:03:25,823 WARN L460 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-15 12:03:25,823 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:03:25,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:03:25,824 INFO L85 PathProgramCache]: Analyzing trace with hash -1639261354, now seen corresponding path program 3 times [2022-04-15 12:03:25,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:03:25,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1174816565] [2022-04-15 12:03:25,826 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:03:25,826 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:03:25,826 INFO L85 PathProgramCache]: Analyzing trace with hash -1639261354, now seen corresponding path program 4 times [2022-04-15 12:03:25,826 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:03:25,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1742983237] [2022-04-15 12:03:25,826 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:03:25,826 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:03:25,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:26,300 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:03:26,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:26,322 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-15 12:03:26,323 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-15 12:03:26,323 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-15 12:03:26,336 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:03:26,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:26,456 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-15 12:03:26,457 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-15 12:03:26,457 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-15 12:03:26,457 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-15 12:03:26,458 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-15 12:03:26,458 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-15 12:03:26,458 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-15 12:03:26,459 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-15 12:03:26,459 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-15 12:03:26,459 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-15 12:03:26,460 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-15 12:03:26,460 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-15 12:03:26,461 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-15 12:03:26,461 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-15 12:03:26,461 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-15 12:03:26,462 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-15 12:03:26,462 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-15 12:03:26,463 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-15 12:03:26,463 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-15 12:03:26,463 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-15 12:03:26,464 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-15 12:03:26,464 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-15 12:03:26,464 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-15 12:03:26,465 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-15 12:03:26,465 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-15 12:03:26,465 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-15 12:03:26,466 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-15 12:03:26,466 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-15 12:03:26,467 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-15 12:03:26,467 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-15 12:03:26,468 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-15 12:03:26,468 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-15 12:03:26,468 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-15 12:03:26,469 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-15 12:03:26,469 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-15 12:03:26,469 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-15 12:03:26,470 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-15 12:03:26,470 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-15 12:03:26,471 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-15 12:03:26,471 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-15 12:03:26,471 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-15 12:03:26,472 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-15 12:03:26,472 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-15 12:03:26,473 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-15 12:03:26,473 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-15 12:03:26,473 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-15 12:03:26,474 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-15 12:03:26,474 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-15 12:03:26,475 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-15 12:03:26,475 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-15 12:03:26,475 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-15 12:03:26,476 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-15 12:03:26,476 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-15 12:03:26,477 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-15 12:03:26,477 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:03:26,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:26,480 INFO L290 TraceCheckUtils]: 0: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 12:03:26,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 12:03:26,480 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 12:03:26,481 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-15 12:03:26,481 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:03:26,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:26,483 INFO L290 TraceCheckUtils]: 0: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 12:03:26,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 12:03:26,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 12:03:26,484 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-15 12:03:26,484 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-15 12:03:26,485 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-15 12:03:26,485 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-15 12:03:26,486 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-15 12:03:26,486 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-15 12:03:26,486 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-15 12:03:26,487 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-15 12:03:26,488 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-15 12:03:26,488 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-15 12:03:26,489 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-15 12:03:26,489 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-15 12:03:26,490 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-15 12:03:26,491 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-15 12:03:26,492 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-15 12:03:26,493 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-15 12:03:26,493 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-15 12:03:26,493 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-15 12:03:26,494 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-15 12:03:26,494 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-15 12:03:26,495 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-15 12:03:26,495 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-15 12:03:26,495 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-15 12:03:26,496 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-15 12:03:26,496 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-15 12:03:26,497 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-15 12:03:26,497 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-15 12:03:26,497 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-15 12:03:26,498 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-15 12:03:26,498 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-15 12:03:26,498 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-15 12:03:26,499 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-15 12:03:26,499 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-15 12:03:26,499 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-15 12:03:26,500 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-15 12:03:26,500 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-15 12:03:26,501 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-15 12:03:26,501 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-15 12:03:26,502 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-15 12:03:26,502 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-15 12:03:26,502 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-15 12:03:26,503 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-15 12:03:26,503 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-15 12:03:26,503 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-15 12:03:26,504 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-15 12:03:26,504 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-15 12:03:26,504 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-15 12:03:26,505 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-15 12:03:26,506 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-15 12:03:26,506 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-15 12:03:26,506 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-15 12:03:26,507 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-15 12:03:26,507 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-15 12:03:26,507 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-15 12:03:26,508 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-15 12:03:26,508 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-15 12:03:26,508 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-15 12:03:26,509 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-15 12:03:26,509 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-15 12:03:26,510 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-15 12:03:26,510 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-15 12:03:26,511 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-15 12:03:26,511 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-15 12:03:26,511 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-15 12:03:26,512 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-15 12:03:26,512 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-15 12:03:26,513 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-15 12:03:26,513 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-15 12:03:26,514 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-15 12:03:26,514 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-15 12:03:26,514 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-15 12:03:26,515 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-15 12:03:26,515 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-15 12:03:26,516 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-15 12:03:26,516 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-15 12:03:26,516 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-15 12:03:26,516 INFO L290 TraceCheckUtils]: 75: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 12:03:26,516 INFO L290 TraceCheckUtils]: 76: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 12:03:26,516 INFO L290 TraceCheckUtils]: 77: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 12:03:26,517 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-15 12:03:26,517 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-15 12:03:26,518 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-15 12:03:26,518 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-15 12:03:26,518 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-15 12:03:26,518 INFO L290 TraceCheckUtils]: 83: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 12:03:26,518 INFO L290 TraceCheckUtils]: 84: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 12:03:26,518 INFO L290 TraceCheckUtils]: 85: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 12:03:26,519 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-15 12:03:26,519 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-15 12:03:26,520 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-15 12:03:26,520 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-15 12:03:26,521 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-15 12:03:26,521 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-15 12:03:26,521 INFO L290 TraceCheckUtils]: 92: Hoare triple {25989#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {25909#false} is VALID [2022-04-15 12:03:26,521 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-15 12:03:26,522 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-15 12:03:26,522 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:03:26,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1742983237] [2022-04-15 12:03:26,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1742983237] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:03:26,522 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [766641191] [2022-04-15 12:03:26,522 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:03:26,522 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:03:26,522 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:03:26,523 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-15 12:03:26,539 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-15 12:03:26,687 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:03:26,687 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:03:26,689 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-15 12:03:26,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:26,711 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:03:27,253 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-15 12:03:27,253 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-15 12:03:27,383 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-15 12:03:27,384 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-15 12:03:27,475 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25908#true} is VALID [2022-04-15 12:03:27,475 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-15 12:03:27,475 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 12:03:27,475 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25908#true} #95#return; {25908#true} is VALID [2022-04-15 12:03:27,475 INFO L272 TraceCheckUtils]: 4: Hoare triple {25908#true} call #t~ret10 := main(); {25908#true} is VALID [2022-04-15 12:03:27,475 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-15 12:03:27,476 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-15 12:03:27,476 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-15 12:03:27,476 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-15 12:03:27,476 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-15 12:03:27,476 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-15 12:03:27,476 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-15 12:03:27,476 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-15 12:03:27,476 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-15 12:03:27,476 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-15 12:03:27,476 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-15 12:03:27,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {25908#true} assume !(~i~1 >= 0); {25908#true} is VALID [2022-04-15 12:03:27,476 INFO L272 TraceCheckUtils]: 17: Hoare triple {25908#true} call SelectionSort(); {25908#true} is VALID [2022-04-15 12:03:27,477 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-15 12:03:27,477 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-15 12:03:27,477 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-15 12:03:27,478 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-15 12:03:27,478 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-15 12:03:27,479 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-15 12:03:27,479 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-15 12:03:27,479 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-15 12:03:27,479 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-15 12:03:27,480 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-15 12:03:27,480 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-15 12:03:27,480 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-15 12:03:27,481 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-15 12:03:27,481 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-15 12:03:27,481 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-15 12:03:27,481 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-15 12:03:27,482 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-15 12:03:27,482 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-15 12:03:27,482 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-15 12:03:27,483 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-15 12:03:27,484 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-15 12:03:27,484 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-15 12:03:27,485 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-15 12:03:27,485 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-15 12:03:27,486 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-15 12:03:27,486 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-15 12:03:27,486 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-15 12:03:27,487 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-15 12:03:27,488 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-15 12:03:27,488 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-15 12:03:27,489 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-15 12:03:27,489 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-15 12:03:27,489 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-15 12:03:27,489 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-15 12:03:27,489 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-15 12:03:27,490 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-15 12:03:27,490 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-15 12:03:27,490 INFO L290 TraceCheckUtils]: 55: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 12:03:27,490 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-15 12:03:27,490 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-15 12:03:27,490 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-15 12:03:27,490 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-15 12:03:27,490 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-15 12:03:27,490 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-15 12:03:27,490 INFO L290 TraceCheckUtils]: 62: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 12:03:27,490 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-15 12:03:27,490 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-15 12:03:27,490 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-15 12:03:27,490 INFO L290 TraceCheckUtils]: 66: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 12:03:27,491 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-15 12:03:27,491 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-15 12:03:27,491 INFO L290 TraceCheckUtils]: 69: Hoare triple {25909#false} assume !(~lh~0 < ~n~0); {25909#false} is VALID [2022-04-15 12:03:27,491 INFO L290 TraceCheckUtils]: 70: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-15 12:03:27,491 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25909#false} {25908#true} #91#return; {25909#false} is VALID [2022-04-15 12:03:27,491 INFO L290 TraceCheckUtils]: 72: Hoare triple {25909#false} ~i~1 := 0; {25909#false} is VALID [2022-04-15 12:03:27,491 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-15 12:03:27,491 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-15 12:03:27,491 INFO L290 TraceCheckUtils]: 75: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-15 12:03:27,491 INFO L290 TraceCheckUtils]: 76: Hoare triple {25909#false} assume !(0 == ~cond); {25909#false} is VALID [2022-04-15 12:03:27,491 INFO L290 TraceCheckUtils]: 77: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-15 12:03:27,491 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25909#false} {25909#false} #93#return; {25909#false} is VALID [2022-04-15 12:03:27,491 INFO L290 TraceCheckUtils]: 79: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-15 12:03:27,492 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-15 12:03:27,492 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-15 12:03:27,492 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-15 12:03:27,492 INFO L290 TraceCheckUtils]: 83: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-15 12:03:27,492 INFO L290 TraceCheckUtils]: 84: Hoare triple {25909#false} assume !(0 == ~cond); {25909#false} is VALID [2022-04-15 12:03:27,492 INFO L290 TraceCheckUtils]: 85: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-15 12:03:27,492 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25909#false} {25909#false} #93#return; {25909#false} is VALID [2022-04-15 12:03:27,492 INFO L290 TraceCheckUtils]: 87: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-15 12:03:27,492 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-15 12:03:27,492 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-15 12:03:27,492 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-15 12:03:27,492 INFO L290 TraceCheckUtils]: 91: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-15 12:03:27,492 INFO L290 TraceCheckUtils]: 92: Hoare triple {25909#false} assume 0 == ~cond; {25909#false} is VALID [2022-04-15 12:03:27,492 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-15 12:03:27,493 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-15 12:03:27,493 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:03:29,034 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-15 12:03:29,134 INFO L356 Elim1Store]: treesize reduction 81, result has 52.1 percent of original size [2022-04-15 12:03:29,135 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-15 12:03:30,028 INFO L290 TraceCheckUtils]: 93: Hoare triple {25909#false} assume !false; {25909#false} is VALID [2022-04-15 12:03:30,029 INFO L290 TraceCheckUtils]: 92: Hoare triple {25909#false} assume 0 == ~cond; {25909#false} is VALID [2022-04-15 12:03:30,029 INFO L290 TraceCheckUtils]: 91: Hoare triple {25909#false} ~cond := #in~cond; {25909#false} is VALID [2022-04-15 12:03:30,029 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-15 12:03:30,029 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-15 12:03:30,029 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-15 12:03:30,029 INFO L290 TraceCheckUtils]: 87: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-15 12:03:30,029 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {25908#true} {25909#false} #93#return; {25909#false} is VALID [2022-04-15 12:03:30,029 INFO L290 TraceCheckUtils]: 85: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 12:03:30,029 INFO L290 TraceCheckUtils]: 84: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 12:03:30,029 INFO L290 TraceCheckUtils]: 83: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 12:03:30,029 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-15 12:03:30,030 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-15 12:03:30,030 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-15 12:03:30,030 INFO L290 TraceCheckUtils]: 79: Hoare triple {25909#false} havoc #t~mem9; {25909#false} is VALID [2022-04-15 12:03:30,030 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {25908#true} {25909#false} #93#return; {25909#false} is VALID [2022-04-15 12:03:30,030 INFO L290 TraceCheckUtils]: 77: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 12:03:30,030 INFO L290 TraceCheckUtils]: 76: Hoare triple {25908#true} assume !(0 == ~cond); {25908#true} is VALID [2022-04-15 12:03:30,030 INFO L290 TraceCheckUtils]: 75: Hoare triple {25908#true} ~cond := #in~cond; {25908#true} is VALID [2022-04-15 12:03:30,030 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-15 12:03:30,030 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-15 12:03:30,030 INFO L290 TraceCheckUtils]: 72: Hoare triple {25909#false} ~i~1 := 0; {25909#false} is VALID [2022-04-15 12:03:30,030 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25909#false} {25908#true} #91#return; {25909#false} is VALID [2022-04-15 12:03:30,030 INFO L290 TraceCheckUtils]: 70: Hoare triple {25909#false} assume true; {25909#false} is VALID [2022-04-15 12:03:30,030 INFO L290 TraceCheckUtils]: 69: Hoare triple {25909#false} assume !(~lh~0 < ~n~0); {25909#false} is VALID [2022-04-15 12:03:30,030 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-15 12:03:30,031 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-15 12:03:30,031 INFO L290 TraceCheckUtils]: 66: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 12:03:30,031 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-15 12:03:30,031 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-15 12:03:30,031 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-15 12:03:30,031 INFO L290 TraceCheckUtils]: 62: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 12:03:30,031 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-15 12:03:30,031 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-15 12:03:30,031 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-15 12:03:30,031 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-15 12:03:30,031 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-15 12:03:30,031 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-15 12:03:30,031 INFO L290 TraceCheckUtils]: 55: Hoare triple {25909#false} assume !(~i~0 < ~n~0); {25909#false} is VALID [2022-04-15 12:03:30,032 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-15 12:03:30,032 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-15 12:03:30,032 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-15 12:03:30,032 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-15 12:03:30,032 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-15 12:03:30,033 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-15 12:03:30,033 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-15 12:03:30,034 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-15 12:03:30,035 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-15 12:03:30,036 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-15 12:03:30,037 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-15 12:03:30,038 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-15 12:03:30,039 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-15 12:03:30,039 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-15 12:03:30,040 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-15 12:03:30,040 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-15 12:03:30,043 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-15 12:03:30,044 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-15 12:03:30,047 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-15 12:03:30,047 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-15 12:03:30,047 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-15 12:03:30,047 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-15 12:03:30,047 INFO L290 TraceCheckUtils]: 32: Hoare triple {25908#true} assume !(~i~0 < ~n~0); {25908#true} is VALID [2022-04-15 12:03:30,047 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,048 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-15 12:03:30,049 INFO L272 TraceCheckUtils]: 17: Hoare triple {25908#true} call SelectionSort(); {25908#true} is VALID [2022-04-15 12:03:30,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {25908#true} assume !(~i~1 >= 0); {25908#true} is VALID [2022-04-15 12:03:30,049 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-15 12:03:30,049 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-15 12:03:30,049 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-15 12:03:30,049 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-15 12:03:30,049 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-15 12:03:30,049 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-15 12:03:30,049 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-15 12:03:30,049 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-15 12:03:30,049 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-15 12:03:30,049 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-15 12:03:30,049 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-15 12:03:30,049 INFO L272 TraceCheckUtils]: 4: Hoare triple {25908#true} call #t~ret10 := main(); {25908#true} is VALID [2022-04-15 12:03:30,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25908#true} {25908#true} #95#return; {25908#true} is VALID [2022-04-15 12:03:30,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {25908#true} assume true; {25908#true} is VALID [2022-04-15 12:03:30,050 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-15 12:03:30,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {25908#true} call ULTIMATE.init(); {25908#true} is VALID [2022-04-15 12:03:30,050 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-15 12:03:30,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [766641191] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:03:30,050 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:03:30,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 15, 11] total 43 [2022-04-15 12:03:30,051 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:03:30,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1174816565] [2022-04-15 12:03:30,051 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1174816565] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:03:30,051 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:03:30,051 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 12:03:30,051 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [272101177] [2022-04-15 12:03:30,051 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:03:30,051 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-15 12:03:30,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:03:30,051 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-15 12:03:30,094 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-15 12:03:30,095 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 12:03:30,095 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:03:30,095 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 12:03:30,095 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=1686, Unknown=0, NotChecked=0, Total=1806 [2022-04-15 12:03:30,095 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-15 12:03:36,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:03:36,971 INFO L93 Difference]: Finished difference Result 490 states and 670 transitions. [2022-04-15 12:03:36,971 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 12:03:36,971 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-15 12:03:36,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:03:36,971 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-15 12:03:36,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 85 transitions. [2022-04-15 12:03:36,973 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-15 12:03:36,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 85 transitions. [2022-04-15 12:03:36,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 85 transitions. [2022-04-15 12:03:37,068 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-15 12:03:37,077 INFO L225 Difference]: With dead ends: 490 [2022-04-15 12:03:37,077 INFO L226 Difference]: Without dead ends: 488 [2022-04-15 12:03:37,079 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 240 GetRequests, 178 SyntacticMatches, 1 SemanticMatches, 61 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 817 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=308, Invalid=3598, Unknown=0, NotChecked=0, Total=3906 [2022-04-15 12:03:37,080 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 122 mSDsluCounter, 21 mSDsCounter, 0 mSdLazyCounter, 849 mSolverCounterSat, 120 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 12:03:37,080 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [122 Valid, 49 Invalid, 969 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [120 Valid, 849 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-15 12:03:37,080 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 488 states. [2022-04-15 12:03:40,706 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 488 to 473. [2022-04-15 12:03:40,706 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:03:40,706 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-15 12:03:40,707 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-15 12:03:40,707 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-15 12:03:40,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:03:40,716 INFO L93 Difference]: Finished difference Result 488 states and 668 transitions. [2022-04-15 12:03:40,716 INFO L276 IsEmpty]: Start isEmpty. Operand 488 states and 668 transitions. [2022-04-15 12:03:40,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:03:40,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:03:40,717 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-15 12:03:40,718 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-15 12:03:40,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:03:40,726 INFO L93 Difference]: Finished difference Result 488 states and 668 transitions. [2022-04-15 12:03:40,726 INFO L276 IsEmpty]: Start isEmpty. Operand 488 states and 668 transitions. [2022-04-15 12:03:40,727 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:03:40,727 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:03:40,727 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:03:40,727 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:03:40,728 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-15 12:03:40,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 473 states to 473 states and 650 transitions. [2022-04-15 12:03:40,738 INFO L78 Accepts]: Start accepts. Automaton has 473 states and 650 transitions. Word has length 94 [2022-04-15 12:03:40,738 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:03:40,738 INFO L478 AbstractCegarLoop]: Abstraction has 473 states and 650 transitions. [2022-04-15 12:03:40,738 INFO L479 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-15 12:03:40,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 473 states and 650 transitions. [2022-04-15 12:03:42,868 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-15 12:03:42,868 INFO L276 IsEmpty]: Start isEmpty. Operand 473 states and 650 transitions. [2022-04-15 12:03:42,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-15 12:03:42,869 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:03:42,869 INFO L499 BasicCegarLoop]: 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-15 12:03:42,891 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-15 12:03:43,091 WARN L460 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-15 12:03:43,091 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:03:43,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:03:43,092 INFO L85 PathProgramCache]: Analyzing trace with hash 1315817034, now seen corresponding path program 5 times [2022-04-15 12:03:43,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:03:43,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [748566027] [2022-04-15 12:03:43,094 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:03:43,095 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:03:43,095 INFO L85 PathProgramCache]: Analyzing trace with hash 1315817034, now seen corresponding path program 6 times [2022-04-15 12:03:43,095 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:03:43,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [656471598] [2022-04-15 12:03:43,095 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:03:43,095 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:03:43,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:43,181 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:03:43,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:43,188 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-15 12:03:43,189 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-15 12:03:43,189 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-15 12:03:43,192 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:03:43,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:43,609 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-15 12:03:43,609 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-15 12:03:43,610 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-15 12:03:43,610 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-15 12:03:43,611 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-15 12:03:43,611 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-15 12:03:43,612 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-15 12:03:43,612 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-15 12:03:43,613 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-15 12:03:43,613 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-15 12:03:43,614 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-15 12:03:43,614 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-15 12:03:43,614 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-15 12:03:43,615 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-15 12:03:43,615 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-15 12:03:43,615 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-15 12:03:43,615 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-15 12:03:43,616 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-15 12:03:43,616 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-15 12:03:43,617 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-15 12:03:43,618 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-15 12:03:43,618 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-15 12:03:43,619 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-15 12:03:43,619 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-15 12:03:43,620 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-15 12:03:43,620 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-15 12:03:43,621 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-15 12:03:43,621 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-15 12:03:43,622 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-15 12:03:43,623 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-15 12:03:43,623 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-15 12:03:43,624 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-15 12:03:43,625 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-15 12:03:43,625 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-15 12:03:43,625 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-15 12:03:43,625 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-15 12:03:43,625 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-15 12:03:43,625 INFO L290 TraceCheckUtils]: 37: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 12:03:43,625 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-15 12:03:43,625 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-15 12:03:43,625 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-15 12:03:43,625 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-15 12:03:43,626 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-15 12:03:43,626 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-15 12:03:43,626 INFO L290 TraceCheckUtils]: 44: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 12:03:43,626 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-15 12:03:43,626 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-15 12:03:43,626 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-15 12:03:43,626 INFO L290 TraceCheckUtils]: 48: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 12:03:43,626 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-15 12:03:43,626 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-15 12:03:43,626 INFO L290 TraceCheckUtils]: 51: Hoare triple {29523#false} assume !(~lh~0 < ~n~0); {29523#false} is VALID [2022-04-15 12:03:43,626 INFO L290 TraceCheckUtils]: 52: Hoare triple {29523#false} assume true; {29523#false} is VALID [2022-04-15 12:03:43,626 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-15 12:03:43,627 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:03:43,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:43,629 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 12:03:43,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 12:03:43,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 12:03:43,629 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 12:03:43,629 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:03:43,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:43,632 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 12:03:43,632 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 12:03:43,632 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 12:03:43,632 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 12:03:43,632 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:03:43,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:43,635 INFO L290 TraceCheckUtils]: 0: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 12:03:43,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 12:03:43,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 12:03:43,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 12:03:43,636 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-15 12:03:43,636 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-15 12:03:43,637 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-15 12:03:43,637 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-15 12:03:43,637 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-15 12:03:43,638 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-15 12:03:43,638 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-15 12:03:43,639 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-15 12:03:43,639 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-15 12:03:43,639 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-15 12:03:43,640 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-15 12:03:43,640 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-15 12:03:43,641 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-15 12:03:43,641 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-15 12:03:43,641 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-15 12:03:43,642 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-15 12:03:43,642 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-15 12:03:43,642 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-15 12:03:43,642 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-15 12:03:43,643 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-15 12:03:43,643 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-15 12:03:43,644 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-15 12:03:43,644 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-15 12:03:43,645 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-15 12:03:43,645 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-15 12:03:43,646 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-15 12:03:43,646 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-15 12:03:43,647 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-15 12:03:43,647 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-15 12:03:43,647 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-15 12:03:43,648 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-15 12:03:43,648 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-15 12:03:43,648 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-15 12:03:43,649 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-15 12:03:43,649 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-15 12:03:43,649 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-15 12:03:43,650 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-15 12:03:43,650 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-15 12:03:43,651 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-15 12:03:43,652 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-15 12:03:43,652 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-15 12:03:43,652 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-15 12:03:43,653 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-15 12:03:43,653 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-15 12:03:43,654 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-15 12:03:43,654 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-15 12:03:43,655 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-15 12:03:43,656 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-15 12:03:43,657 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-15 12:03:43,657 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-15 12:03:43,658 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-15 12:03:43,658 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-15 12:03:43,658 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-15 12:03:43,658 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-15 12:03:43,658 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-15 12:03:43,658 INFO L290 TraceCheckUtils]: 55: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 12:03:43,658 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-15 12:03:43,658 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-15 12:03:43,659 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-15 12:03:43,659 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-15 12:03:43,659 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-15 12:03:43,659 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-15 12:03:43,659 INFO L290 TraceCheckUtils]: 62: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 12:03:43,659 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-15 12:03:43,659 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-15 12:03:43,659 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-15 12:03:43,659 INFO L290 TraceCheckUtils]: 66: Hoare triple {29523#false} assume !(~i~0 < ~n~0); {29523#false} is VALID [2022-04-15 12:03:43,659 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-15 12:03:43,659 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-15 12:03:43,659 INFO L290 TraceCheckUtils]: 69: Hoare triple {29523#false} assume !(~lh~0 < ~n~0); {29523#false} is VALID [2022-04-15 12:03:43,659 INFO L290 TraceCheckUtils]: 70: Hoare triple {29523#false} assume true; {29523#false} is VALID [2022-04-15 12:03:43,660 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-15 12:03:43,660 INFO L290 TraceCheckUtils]: 72: Hoare triple {29523#false} ~i~1 := 0; {29523#false} is VALID [2022-04-15 12:03:43,660 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-15 12:03:43,660 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-15 12:03:43,660 INFO L290 TraceCheckUtils]: 75: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 12:03:43,660 INFO L290 TraceCheckUtils]: 76: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 12:03:43,660 INFO L290 TraceCheckUtils]: 77: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 12:03:43,660 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 12:03:43,660 INFO L290 TraceCheckUtils]: 79: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-15 12:03:43,660 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-15 12:03:43,660 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-15 12:03:43,660 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-15 12:03:43,660 INFO L290 TraceCheckUtils]: 83: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 12:03:43,660 INFO L290 TraceCheckUtils]: 84: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 12:03:43,660 INFO L290 TraceCheckUtils]: 85: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 12:03:43,661 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 12:03:43,661 INFO L290 TraceCheckUtils]: 87: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-15 12:03:43,661 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-15 12:03:43,661 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-15 12:03:43,661 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-15 12:03:43,661 INFO L290 TraceCheckUtils]: 91: Hoare triple {29522#true} ~cond := #in~cond; {29522#true} is VALID [2022-04-15 12:03:43,661 INFO L290 TraceCheckUtils]: 92: Hoare triple {29522#true} assume !(0 == ~cond); {29522#true} is VALID [2022-04-15 12:03:43,661 INFO L290 TraceCheckUtils]: 93: Hoare triple {29522#true} assume true; {29522#true} is VALID [2022-04-15 12:03:43,661 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29522#true} {29523#false} #93#return; {29523#false} is VALID [2022-04-15 12:03:43,661 INFO L290 TraceCheckUtils]: 95: Hoare triple {29523#false} havoc #t~mem9; {29523#false} is VALID [2022-04-15 12:03:43,661 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-15 12:03:43,661 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-15 12:03:43,661 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-15 12:03:43,661 INFO L290 TraceCheckUtils]: 99: Hoare triple {29523#false} ~cond := #in~cond; {29523#false} is VALID [2022-04-15 12:03:43,662 INFO L290 TraceCheckUtils]: 100: Hoare triple {29523#false} assume 0 == ~cond; {29523#false} is VALID [2022-04-15 12:03:43,662 INFO L290 TraceCheckUtils]: 101: Hoare triple {29523#false} assume !false; {29523#false} is VALID [2022-04-15 12:03:43,662 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-15 12:03:43,662 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:03:43,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [656471598] [2022-04-15 12:03:43,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [656471598] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:03:43,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [706229757] [2022-04-15 12:03:43,662 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:03:43,663 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:03:43,663 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:03:43,664 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-15 12:03:43,664 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-15 12:03:44,018 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-15 12:03:44,018 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:03:44,022 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-15 12:03:44,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:03:44,057 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:03:44,107 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 12:03:44,107 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-15 12:03:44,183 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-15 12:03:44,285 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:03:44,285 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-15 12:03:44,345 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-15 12:03:44,346 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-15 12:03:44,475 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-15 12:03:44,475 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-15 12:03:45,067 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-15 12:03:46,147 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 12:03:46,148 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-15 12:03:46,246 INFO L272 TraceCheckUtils]: 0: Hoare triple {29522#true} call ULTIMATE.init(); {29522#true} is VALID [2022-04-15 12:03:46,247 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-15 12:03:46,247 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-15 12:03:46,248 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-15 12:03:46,248 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-15 12:03:46,249 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-15 12:03:46,249 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-15 12:03:46,249 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-15 12:03:46,250 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-15 12:03:46,251 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-15 12:03:46,251 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-15 12:03:46,252 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-15 12:03:46,252 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-15 12:03:46,253 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-15 12:03:46,254 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-15 12:03:46,254 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-15 12:03:46,255 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-15 12:03:46,255 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-15 12:03:46,255 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-15 12:03:46,256 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-15 12:03:46,256 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-15 12:03:46,257 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-15 12:03:46,257 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-15 12:03:46,257 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-15 12:03:46,258 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-15 12:03:46,258 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-15 12:03:46,259 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-15 12:03:46,259 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-15 12:03:46,259 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-15 12:03:46,260 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-15 12:03:46,260 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-15 12:03:46,260 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-15 12:03:46,261 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-15 12:03:46,261 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-15 12:03:46,262 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-15 12:03:46,262 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-15 12:03:46,263 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-15 12:03:46,264 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-15 12:03:46,264 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-15 12:03:46,265 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-15 12:03:46,265 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-15 12:03:46,266 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-15 12:03:46,266 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-15 12:03:46,267 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-15 12:03:46,267 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-15 12:03:46,268 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-15 12:03:46,269 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-15 12:03:46,270 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-15 12:03:46,270 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-15 12:03:46,271 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-15 12:03:46,271 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-15 12:03:46,272 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-15 12:03:46,272 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-15 12:03:46,273 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-15 12:03:46,273 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-15 12:03:46,274 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-15 12:03:46,275 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-15 12:03:46,276 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-15 12:03:46,276 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-15 12:03:46,277 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-15 12:03:46,277 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-15 12:03:46,278 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-15 12:03:46,278 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-15 12:03:46,279 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-15 12:03:46,280 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-15 12:03:46,281 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-15 12:03:46,281 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-15 12:03:46,282 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-15 12:03:46,283 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-15 12:03:46,283 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-15 12:03:46,284 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-15 12:03:46,284 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-15 12:03:46,285 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-15 12:03:46,285 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-15 12:03:46,286 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-15 12:03:46,287 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-15 12:03:46,287 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-15 12:03:46,288 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-15 12:03:46,288 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-15 12:03:46,288 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-15 12:03:46,289 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-15 12:03:46,289 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-15 12:03:46,290 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-15 12:03:46,291 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-15 12:03:46,291 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-15 12:03:46,292 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-15 12:03:46,292 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-15 12:03:46,292 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-15 12:03:46,293 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-15 12:03:46,293 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-15 12:03:46,294 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-15 12:03:46,304 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-15 12:03:46,304 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-15 12:03:46,305 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-15 12:03:46,306 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-15 12:03:46,306 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-15 12:03:46,307 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-15 12:03:46,307 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-15 12:03:46,308 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-15 12:03:46,308 INFO L290 TraceCheckUtils]: 99: Hoare triple {29928#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29932#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:03:46,309 INFO L290 TraceCheckUtils]: 100: Hoare triple {29932#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29523#false} is VALID [2022-04-15 12:03:46,309 INFO L290 TraceCheckUtils]: 101: Hoare triple {29523#false} assume !false; {29523#false} is VALID [2022-04-15 12:03:46,309 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-15 12:03:46,309 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:03:46,668 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-15 12:03:46,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [706229757] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:03:46,670 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:03:46,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-15 12:03:46,670 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:03:46,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [748566027] [2022-04-15 12:03:46,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [748566027] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:03:46,670 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:03:46,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 12:03:46,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [18337328] [2022-04-15 12:03:46,670 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:03:46,671 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-15 12:03:46,671 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:03:46,671 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-15 12:03:46,719 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-15 12:03:46,720 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 12:03:46,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:03:46,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 12:03:46,720 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=159, Invalid=2090, Unknown=11, NotChecked=92, Total=2352 [2022-04-15 12:03:46,720 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-15 12:04:00,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:04:00,641 INFO L93 Difference]: Finished difference Result 1370 states and 1890 transitions. [2022-04-15 12:04:00,641 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 54 states. [2022-04-15 12:04:00,642 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-15 12:04:00,642 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:04:00,642 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-15 12:04:00,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 217 transitions. [2022-04-15 12:04:00,644 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-15 12:04:00,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 217 transitions. [2022-04-15 12:04:00,647 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 217 transitions. [2022-04-15 12:04:00,902 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-15 12:04:00,954 INFO L225 Difference]: With dead ends: 1370 [2022-04-15 12:04:00,954 INFO L226 Difference]: Without dead ends: 1021 [2022-04-15 12:04:00,955 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 231 GetRequests, 122 SyntacticMatches, 11 SemanticMatches, 98 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 2371 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=725, Invalid=8968, Unknown=13, NotChecked=194, Total=9900 [2022-04-15 12:04:00,955 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 278 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 1172 mSolverCounterSat, 244 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-15 12:04:00,956 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [278 Valid, 45 Invalid, 1416 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [244 Valid, 1172 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-15 12:04:00,956 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1021 states. [2022-04-15 12:04:06,126 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1021 to 610. [2022-04-15 12:04:06,127 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:04:06,128 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-15 12:04:06,128 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-15 12:04:06,128 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-15 12:04:06,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:04:06,156 INFO L93 Difference]: Finished difference Result 1021 states and 1386 transitions. [2022-04-15 12:04:06,156 INFO L276 IsEmpty]: Start isEmpty. Operand 1021 states and 1386 transitions. [2022-04-15 12:04:06,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:04:06,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:04:06,158 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-15 12:04:06,159 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-15 12:04:06,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:04:06,186 INFO L93 Difference]: Finished difference Result 1021 states and 1386 transitions. [2022-04-15 12:04:06,186 INFO L276 IsEmpty]: Start isEmpty. Operand 1021 states and 1386 transitions. [2022-04-15 12:04:06,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:04:06,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:04:06,187 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:04:06,187 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:04:06,188 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-15 12:04:06,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 610 states to 610 states and 830 transitions. [2022-04-15 12:04:06,202 INFO L78 Accepts]: Start accepts. Automaton has 610 states and 830 transitions. Word has length 102 [2022-04-15 12:04:06,202 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:04:06,202 INFO L478 AbstractCegarLoop]: Abstraction has 610 states and 830 transitions. [2022-04-15 12:04:06,203 INFO L479 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-15 12:04:06,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 610 states and 830 transitions. [2022-04-15 12:04:09,346 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-15 12:04:09,347 INFO L276 IsEmpty]: Start isEmpty. Operand 610 states and 830 transitions. [2022-04-15 12:04:09,348 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-15 12:04:09,348 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:04:09,348 INFO L499 BasicCegarLoop]: 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-15 12:04:09,365 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-15 12:04:09,559 WARN L460 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-15 12:04:09,559 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:04:09,560 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:04:09,560 INFO L85 PathProgramCache]: Analyzing trace with hash -1425291514, now seen corresponding path program 7 times [2022-04-15 12:04:09,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:04:09,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1731089305] [2022-04-15 12:04:09,562 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:04:09,562 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:04:09,562 INFO L85 PathProgramCache]: Analyzing trace with hash -1425291514, now seen corresponding path program 8 times [2022-04-15 12:04:09,562 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:04:09,562 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [710769317] [2022-04-15 12:04:09,562 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:04:09,562 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:04:09,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:10,186 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:04:10,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:10,209 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-15 12:04:10,210 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-15 12:04:10,210 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-15 12:04:10,221 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:04:10,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:10,270 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-15 12:04:10,271 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-15 12:04:10,272 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-15 12:04:10,272 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-15 12:04:10,272 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-15 12:04:10,273 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-15 12:04:10,273 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-15 12:04:10,273 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-15 12:04:10,274 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-15 12:04:10,274 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-15 12:04:10,275 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-15 12:04:10,275 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-15 12:04:10,276 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-15 12:04:10,276 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-15 12:04:10,276 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-15 12:04:10,277 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-15 12:04:10,277 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-15 12:04:10,278 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-15 12:04:10,278 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-15 12:04:10,278 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-15 12:04:10,279 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-15 12:04:10,279 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-15 12:04:10,279 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-15 12:04:10,280 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-15 12:04:10,280 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-15 12:04:10,280 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-15 12:04:10,281 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-15 12:04:10,281 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-15 12:04:10,282 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-15 12:04:10,282 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-15 12:04:10,282 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-15 12:04:10,283 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-15 12:04:10,283 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-15 12:04:10,283 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-15 12:04:10,284 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-15 12:04:10,284 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-15 12:04:10,284 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-15 12:04:10,284 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-15 12:04:10,285 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-15 12:04:10,285 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-15 12:04:10,286 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-15 12:04:10,286 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-15 12:04:10,286 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-15 12:04:10,287 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-15 12:04:10,287 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-15 12:04:10,288 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-15 12:04:10,288 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-15 12:04:10,288 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-15 12:04:10,288 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-15 12:04:10,289 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-15 12:04:10,289 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-15 12:04:10,290 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-15 12:04:10,290 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-15 12:04:10,291 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-15 12:04:10,291 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:04:10,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:10,294 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 12:04:10,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 12:04:10,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 12:04:10,295 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-15 12:04:10,295 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:04:10,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:10,298 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 12:04:10,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 12:04:10,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 12:04:10,298 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-15 12:04:10,298 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:04:10,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:10,301 INFO L290 TraceCheckUtils]: 0: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 12:04:10,301 INFO L290 TraceCheckUtils]: 1: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 12:04:10,301 INFO L290 TraceCheckUtils]: 2: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 12:04:10,302 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-15 12:04:10,302 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-15 12:04:10,303 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-15 12:04:10,303 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-15 12:04:10,304 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-15 12:04:10,304 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-15 12:04:10,304 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-15 12:04:10,305 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-15 12:04:10,306 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-15 12:04:10,306 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-15 12:04:10,307 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-15 12:04:10,307 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-15 12:04:10,308 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-15 12:04:10,308 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-15 12:04:10,309 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-15 12:04:10,310 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-15 12:04:10,310 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-15 12:04:10,311 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-15 12:04:10,311 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-15 12:04:10,311 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-15 12:04:10,312 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-15 12:04:10,312 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-15 12:04:10,312 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-15 12:04:10,313 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-15 12:04:10,313 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-15 12:04:10,313 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-15 12:04:10,314 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-15 12:04:10,314 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-15 12:04:10,314 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-15 12:04:10,315 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-15 12:04:10,315 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-15 12:04:10,315 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-15 12:04:10,316 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-15 12:04:10,316 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-15 12:04:10,316 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-15 12:04:10,317 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-15 12:04:10,317 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-15 12:04:10,317 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-15 12:04:10,318 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-15 12:04:10,318 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-15 12:04:10,318 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-15 12:04:10,318 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-15 12:04:10,319 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-15 12:04:10,319 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-15 12:04:10,319 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-15 12:04:10,319 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-15 12:04:10,320 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-15 12:04:10,320 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-15 12:04:10,320 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-15 12:04:10,321 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-15 12:04:10,321 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-15 12:04:10,321 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-15 12:04:10,322 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-15 12:04:10,322 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-15 12:04:10,322 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-15 12:04:10,322 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-15 12:04:10,323 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-15 12:04:10,323 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-15 12:04:10,323 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-15 12:04:10,324 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-15 12:04:10,324 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-15 12:04:10,324 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-15 12:04:10,325 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-15 12:04:10,325 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-15 12:04:10,325 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-15 12:04:10,326 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-15 12:04:10,326 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-15 12:04:10,326 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-15 12:04:10,327 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-15 12:04:10,327 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-15 12:04:10,327 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-15 12:04:10,328 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-15 12:04:10,328 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-15 12:04:10,329 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-15 12:04:10,329 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-15 12:04:10,329 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-15 12:04:10,329 INFO L290 TraceCheckUtils]: 75: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 12:04:10,329 INFO L290 TraceCheckUtils]: 76: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 12:04:10,329 INFO L290 TraceCheckUtils]: 77: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 12:04:10,330 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-15 12:04:10,330 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-15 12:04:10,331 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-15 12:04:10,331 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-15 12:04:10,331 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-15 12:04:10,331 INFO L290 TraceCheckUtils]: 83: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 12:04:10,331 INFO L290 TraceCheckUtils]: 84: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 12:04:10,331 INFO L290 TraceCheckUtils]: 85: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 12:04:10,332 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-15 12:04:10,332 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-15 12:04:10,333 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-15 12:04:10,333 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-15 12:04:10,333 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-15 12:04:10,333 INFO L290 TraceCheckUtils]: 91: Hoare triple {36154#true} ~cond := #in~cond; {36154#true} is VALID [2022-04-15 12:04:10,333 INFO L290 TraceCheckUtils]: 92: Hoare triple {36154#true} assume !(0 == ~cond); {36154#true} is VALID [2022-04-15 12:04:10,334 INFO L290 TraceCheckUtils]: 93: Hoare triple {36154#true} assume true; {36154#true} is VALID [2022-04-15 12:04:10,334 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-15 12:04:10,334 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-15 12:04:10,335 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-15 12:04:10,335 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-15 12:04:10,336 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-15 12:04:10,336 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-15 12:04:10,336 INFO L290 TraceCheckUtils]: 100: Hoare triple {36240#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {36155#false} is VALID [2022-04-15 12:04:10,336 INFO L290 TraceCheckUtils]: 101: Hoare triple {36155#false} assume !false; {36155#false} is VALID [2022-04-15 12:04:10,337 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-15 12:04:10,337 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:04:10,337 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [710769317] [2022-04-15 12:04:10,337 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [710769317] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:04:10,337 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1501848603] [2022-04-15 12:04:10,337 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:04:10,337 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:04:10,338 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:04:10,339 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-15 12:04:10,341 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-15 12:04:10,471 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:04:10,471 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:04:10,473 INFO L263 TraceCheckSpWp]: Trace formula consists of 364 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-15 12:04:10,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:10,494 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:04:10,548 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 12:04:10,549 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-15 12:04:10,615 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-15 12:04:10,703 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:04:10,703 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-15 12:04:10,774 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:04:10,774 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-15 12:04:10,854 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:04:10,854 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-15 12:04:11,401 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-15 12:04:12,455 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 12:04:12,455 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-15 12:04:12,535 INFO L272 TraceCheckUtils]: 0: Hoare triple {36154#true} call ULTIMATE.init(); {36154#true} is VALID [2022-04-15 12:04:12,536 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-15 12:04:12,536 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-15 12:04:12,536 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-15 12:04:12,537 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-15 12:04:12,537 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-15 12:04:12,538 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-15 12:04:12,538 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-15 12:04:12,544 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-15 12:04:12,545 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-15 12:04:12,545 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-15 12:04:12,546 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-15 12:04:12,547 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-15 12:04:12,547 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-15 12:04:12,548 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-15 12:04:12,548 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-15 12:04:12,549 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-15 12:04:12,549 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-15 12:04:12,550 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-15 12:04:12,550 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-15 12:04:12,551 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-15 12:04:12,551 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-15 12:04:12,551 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-15 12:04:12,552 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-15 12:04:12,552 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-15 12:04:12,552 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-15 12:04:12,553 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-15 12:04:12,553 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-15 12:04:12,567 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-15 12:04:12,568 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-15 12:04:12,568 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-15 12:04:12,569 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-15 12:04:12,569 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-15 12:04:12,570 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-15 12:04:12,570 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-15 12:04:12,571 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-15 12:04:12,571 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-15 12:04:12,572 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-15 12:04:12,572 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-15 12:04:12,573 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-15 12:04:12,574 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-15 12:04:12,574 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-15 12:04:12,575 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-15 12:04:12,575 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-15 12:04:12,576 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-15 12:04:12,576 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-15 12:04:12,578 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-15 12:04:12,579 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-15 12:04:12,579 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-15 12:04:12,580 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-15 12:04:12,580 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-15 12:04:12,581 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-15 12:04:12,583 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-15 12:04:12,583 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-15 12:04:12,584 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-15 12:04:12,585 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-15 12:04:12,586 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-15 12:04:12,587 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-15 12:04:12,587 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-15 12:04:12,588 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-15 12:04:12,589 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-15 12:04:12,589 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-15 12:04:12,590 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-15 12:04:12,591 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-15 12:04:12,592 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-15 12:04:12,592 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-15 12:04:12,593 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-15 12:04:12,595 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-15 12:04:12,595 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-15 12:04:12,596 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-15 12:04:12,596 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-15 12:04:12,597 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-15 12:04:12,598 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-15 12:04:12,598 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-15 12:04:12,599 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-15 12:04:12,599 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-15 12:04:12,600 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-15 12:04:12,600 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-15 12:04:12,600 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-15 12:04:12,601 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-15 12:04:12,601 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-15 12:04:12,602 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-15 12:04:12,603 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-15 12:04:12,603 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-15 12:04:12,603 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-15 12:04:12,603 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-15 12:04:12,604 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-15 12:04:12,604 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-15 12:04:12,605 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-15 12:04:12,605 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-15 12:04:12,606 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-15 12:04:12,607 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-15 12:04:12,607 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-15 12:04:12,607 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-15 12:04:12,608 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-15 12:04:12,608 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-15 12:04:12,609 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-15 12:04:12,609 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-15 12:04:12,609 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-15 12:04:12,610 INFO L290 TraceCheckUtils]: 99: Hoare triple {36557#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {36561#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:04:12,610 INFO L290 TraceCheckUtils]: 100: Hoare triple {36561#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {36155#false} is VALID [2022-04-15 12:04:12,610 INFO L290 TraceCheckUtils]: 101: Hoare triple {36155#false} assume !false; {36155#false} is VALID [2022-04-15 12:04:12,611 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-15 12:04:12,611 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:04:12,952 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-15 12:04:12,953 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1501848603] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:04:12,954 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:04:12,954 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 21] total 39 [2022-04-15 12:04:12,954 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:04:12,954 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1731089305] [2022-04-15 12:04:12,954 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1731089305] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:04:12,954 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:04:12,954 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 12:04:12,954 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [558708939] [2022-04-15 12:04:12,954 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:04:12,955 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-15 12:04:12,955 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:04:12,955 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-15 12:04:13,002 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-15 12:04:13,003 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 12:04:13,003 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:04:13,003 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 12:04:13,003 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=171, Invalid=1802, Unknown=11, NotChecked=86, Total=2070 [2022-04-15 12:04:13,003 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-15 12:04:20,679 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:04:20,679 INFO L93 Difference]: Finished difference Result 631 states and 853 transitions. [2022-04-15 12:04:20,679 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-15 12:04:20,680 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-15 12:04:20,680 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:04:20,680 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-15 12:04:20,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 85 transitions. [2022-04-15 12:04:20,681 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-15 12:04:20,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 85 transitions. [2022-04-15 12:04:20,682 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 85 transitions. [2022-04-15 12:04:20,769 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-15 12:04:20,787 INFO L225 Difference]: With dead ends: 631 [2022-04-15 12:04:20,788 INFO L226 Difference]: Without dead ends: 629 [2022-04-15 12:04:20,789 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 113 SyntacticMatches, 12 SemanticMatches, 63 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1148 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=435, Invalid=3584, Unknown=17, NotChecked=124, Total=4160 [2022-04-15 12:04:20,793 INFO L913 BasicCegarLoop]: 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-15 12:04:20,793 INFO L914 BasicCegarLoop]: 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-15 12:04:20,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 629 states. [2022-04-15 12:04:25,907 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 629 to 618. [2022-04-15 12:04:25,907 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:04:25,908 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-15 12:04:25,908 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-15 12:04:25,909 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-15 12:04:25,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:04:25,920 INFO L93 Difference]: Finished difference Result 629 states and 851 transitions. [2022-04-15 12:04:25,920 INFO L276 IsEmpty]: Start isEmpty. Operand 629 states and 851 transitions. [2022-04-15 12:04:25,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:04:25,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:04:25,921 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-15 12:04:25,922 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-15 12:04:25,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:04:25,946 INFO L93 Difference]: Finished difference Result 629 states and 851 transitions. [2022-04-15 12:04:25,946 INFO L276 IsEmpty]: Start isEmpty. Operand 629 states and 851 transitions. [2022-04-15 12:04:25,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:04:25,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:04:25,947 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:04:25,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:04:25,947 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-15 12:04:25,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 618 states to 618 states and 838 transitions. [2022-04-15 12:04:25,962 INFO L78 Accepts]: Start accepts. Automaton has 618 states and 838 transitions. Word has length 102 [2022-04-15 12:04:25,962 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:04:25,962 INFO L478 AbstractCegarLoop]: Abstraction has 618 states and 838 transitions. [2022-04-15 12:04:25,963 INFO L479 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-15 12:04:25,963 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 618 states and 838 transitions. [2022-04-15 12:04:29,018 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-15 12:04:29,018 INFO L276 IsEmpty]: Start isEmpty. Operand 618 states and 838 transitions. [2022-04-15 12:04:29,019 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 12:04:29,019 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:04:29,020 INFO L499 BasicCegarLoop]: 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-15 12:04:29,036 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (28)] Forceful destruction successful, exit code 0 [2022-04-15 12:04:29,220 WARN L460 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-15 12:04:29,220 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:04:29,220 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:04:29,221 INFO L85 PathProgramCache]: Analyzing trace with hash 1545601530, now seen corresponding path program 9 times [2022-04-15 12:04:29,221 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:04:29,221 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1025284234] [2022-04-15 12:04:29,222 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:04:29,222 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:04:29,223 INFO L85 PathProgramCache]: Analyzing trace with hash 1545601530, now seen corresponding path program 10 times [2022-04-15 12:04:29,223 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:04:29,223 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [6328499] [2022-04-15 12:04:29,223 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:04:29,223 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:04:29,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:29,437 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:04:29,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:29,456 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-15 12:04:29,457 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-15 12:04:29,458 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-15 12:04:29,463 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:04:29,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:29,750 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-15 12:04:29,751 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-15 12:04:29,751 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-15 12:04:29,752 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-15 12:04:29,752 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-15 12:04:29,753 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-15 12:04:29,753 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-15 12:04:29,754 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-15 12:04:29,754 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-15 12:04:29,755 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-15 12:04:29,755 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-15 12:04:29,756 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-15 12:04:29,756 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-15 12:04:29,756 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-15 12:04:29,757 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-15 12:04:29,757 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-15 12:04:29,757 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-15 12:04:29,765 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-15 12:04:29,768 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-15 12:04:29,768 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-15 12:04:29,768 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-15 12:04:29,769 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-15 12:04:29,769 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-15 12:04:29,769 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-15 12:04:29,769 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-15 12:04:29,770 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-15 12:04:29,770 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-15 12:04:29,770 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-15 12:04:29,771 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-15 12:04:29,771 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-15 12:04:29,771 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-15 12:04:29,772 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-15 12:04:29,772 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-15 12:04:29,772 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-15 12:04:29,772 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-15 12:04:29,773 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-15 12:04:29,773 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-15 12:04:29,773 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-15 12:04:29,774 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-15 12:04:29,774 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-15 12:04:29,774 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-15 12:04:29,774 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-15 12:04:29,775 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-15 12:04:29,775 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-15 12:04:29,775 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-15 12:04:29,776 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-15 12:04:29,776 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-15 12:04:29,776 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-15 12:04:29,777 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-15 12:04:29,777 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-15 12:04:29,777 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-15 12:04:29,777 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-15 12:04:29,778 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-15 12:04:29,779 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-15 12:04:29,779 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:04:29,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:29,782 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:29,782 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:29,782 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:29,782 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:29,782 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:04:29,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:29,785 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:29,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:29,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:29,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:29,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:04:29,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:29,815 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:29,815 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:29,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:29,815 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:29,816 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 12:04:29,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:29,818 INFO L290 TraceCheckUtils]: 0: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:29,818 INFO L290 TraceCheckUtils]: 1: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:29,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:29,818 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:29,819 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-15 12:04:29,820 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-15 12:04:29,820 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-15 12:04:29,820 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-15 12:04:29,821 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-15 12:04:29,821 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-15 12:04:29,822 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-15 12:04:29,822 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-15 12:04:29,823 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-15 12:04:29,823 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-15 12:04:29,824 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-15 12:04:29,825 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-15 12:04:29,825 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-15 12:04:29,826 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-15 12:04:29,826 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-15 12:04:29,827 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-15 12:04:29,827 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-15 12:04:29,827 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-15 12:04:29,828 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-15 12:04:29,828 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-15 12:04:29,829 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-15 12:04:29,829 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-15 12:04:29,830 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-15 12:04:29,830 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-15 12:04:29,831 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-15 12:04:29,831 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-15 12:04:29,832 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-15 12:04:29,832 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-15 12:04:29,833 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-15 12:04:29,833 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-15 12:04:29,833 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-15 12:04:29,834 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-15 12:04:29,834 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-15 12:04:29,834 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-15 12:04:29,835 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-15 12:04:29,835 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-15 12:04:29,835 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-15 12:04:29,835 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-15 12:04:29,836 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-15 12:04:29,836 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-15 12:04:29,837 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-15 12:04:29,837 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-15 12:04:29,838 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-15 12:04:29,838 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-15 12:04:29,838 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-15 12:04:29,838 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-15 12:04:29,839 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-15 12:04:29,839 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-15 12:04:29,839 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-15 12:04:29,839 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-15 12:04:29,840 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-15 12:04:29,840 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-15 12:04:29,840 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-15 12:04:29,840 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-15 12:04:29,841 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-15 12:04:29,841 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-15 12:04:29,841 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-15 12:04:29,842 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-15 12:04:29,842 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-15 12:04:29,842 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-15 12:04:29,842 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-15 12:04:29,842 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-15 12:04:29,843 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-15 12:04:29,843 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-15 12:04:29,843 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-15 12:04:29,843 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-15 12:04:29,844 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-15 12:04:29,844 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-15 12:04:29,844 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-15 12:04:29,844 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-15 12:04:29,845 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-15 12:04:29,845 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-15 12:04:29,845 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-15 12:04:29,845 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-15 12:04:29,845 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-15 12:04:29,846 INFO L290 TraceCheckUtils]: 75: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:29,846 INFO L290 TraceCheckUtils]: 76: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:29,846 INFO L290 TraceCheckUtils]: 77: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:29,846 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:29,846 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:29,846 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-15 12:04:29,846 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-15 12:04:29,846 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-15 12:04:29,846 INFO L290 TraceCheckUtils]: 83: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:29,846 INFO L290 TraceCheckUtils]: 84: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:29,846 INFO L290 TraceCheckUtils]: 85: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:29,846 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:29,846 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:29,846 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-15 12:04:29,846 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-15 12:04:29,847 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-15 12:04:29,847 INFO L290 TraceCheckUtils]: 91: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:29,847 INFO L290 TraceCheckUtils]: 92: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:29,847 INFO L290 TraceCheckUtils]: 93: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:29,847 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:29,847 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:29,847 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-15 12:04:29,847 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-15 12:04:29,847 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-15 12:04:29,847 INFO L290 TraceCheckUtils]: 99: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:29,847 INFO L290 TraceCheckUtils]: 100: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:29,847 INFO L290 TraceCheckUtils]: 101: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:29,847 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:29,847 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:29,848 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-15 12:04:29,848 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-15 12:04:29,848 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-15 12:04:29,848 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 12:04:29,848 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-15 12:04:29,848 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-15 12:04:29,848 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-15 12:04:29,848 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:04:29,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [6328499] [2022-04-15 12:04:29,849 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [6328499] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:04:29,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1233950535] [2022-04-15 12:04:29,849 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:04:29,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:04:29,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:04:29,850 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-15 12:04:29,852 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-15 12:04:29,990 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:04:29,991 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:04:29,993 INFO L263 TraceCheckSpWp]: Trace formula consists of 326 conjuncts, 63 conjunts are in the unsatisfiable core [2022-04-15 12:04:30,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:30,018 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:04:30,445 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-15 12:04:30,446 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-15 12:04:30,782 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-15 12:04:30,783 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-15 12:04:31,226 INFO L356 Elim1Store]: treesize reduction 273, result has 8.1 percent of original size [2022-04-15 12:04:31,226 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-15 12:04:31,372 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-15 12:04:31,373 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-15 12:04:31,475 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40462#true} is VALID [2022-04-15 12:04:31,475 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-15 12:04:31,475 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:31,475 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40462#true} #95#return; {40462#true} is VALID [2022-04-15 12:04:31,475 INFO L272 TraceCheckUtils]: 4: Hoare triple {40462#true} call #t~ret10 := main(); {40462#true} is VALID [2022-04-15 12:04:31,475 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-15 12:04:31,476 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-15 12:04:31,476 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-15 12:04:31,476 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-15 12:04:31,476 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-15 12:04:31,476 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-15 12:04:31,476 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-15 12:04:31,476 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-15 12:04:31,476 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-15 12:04:31,493 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-15 12:04:31,493 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-15 12:04:31,493 INFO L290 TraceCheckUtils]: 16: Hoare triple {40462#true} assume !(~i~1 >= 0); {40462#true} is VALID [2022-04-15 12:04:31,494 INFO L272 TraceCheckUtils]: 17: Hoare triple {40462#true} call SelectionSort(); {40462#true} is VALID [2022-04-15 12:04:31,495 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-15 12:04:31,495 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-15 12:04:31,496 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-15 12:04:31,496 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-15 12:04:31,497 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-15 12:04:31,497 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-15 12:04:31,498 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-15 12:04:31,498 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-15 12:04:31,499 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-15 12:04:31,499 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-15 12:04:31,500 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-15 12:04:31,500 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-15 12:04:31,501 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-15 12:04:31,501 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-15 12:04:31,502 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-15 12:04:31,503 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-15 12:04:31,503 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-15 12:04:31,504 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-15 12:04:31,504 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-15 12:04:31,504 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-15 12:04:31,505 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-15 12:04:31,505 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-15 12:04:31,506 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-15 12:04:31,506 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-15 12:04:31,507 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-15 12:04:31,507 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-15 12:04:31,508 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-15 12:04:31,508 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-15 12:04:31,509 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-15 12:04:31,510 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-15 12:04:31,510 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-15 12:04:31,510 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-15 12:04:31,511 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-15 12:04:31,511 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-15 12:04:31,512 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-15 12:04:31,512 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-15 12:04:31,513 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-15 12:04:31,513 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-15 12:04:31,514 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-15 12:04:31,515 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-15 12:04:31,515 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-15 12:04:31,516 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-15 12:04:31,516 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-15 12:04:31,516 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-15 12:04:31,516 INFO L290 TraceCheckUtils]: 62: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-15 12:04:31,516 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-15 12:04:31,516 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-15 12:04:31,516 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-15 12:04:31,516 INFO L290 TraceCheckUtils]: 66: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-15 12:04:31,516 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-15 12:04:31,517 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-15 12:04:31,517 INFO L290 TraceCheckUtils]: 69: Hoare triple {40463#false} assume !(~lh~0 < ~n~0); {40463#false} is VALID [2022-04-15 12:04:31,517 INFO L290 TraceCheckUtils]: 70: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 12:04:31,517 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40463#false} {40462#true} #91#return; {40463#false} is VALID [2022-04-15 12:04:31,517 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-15 12:04:31,517 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-15 12:04:31,517 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-15 12:04:31,517 INFO L290 TraceCheckUtils]: 75: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 12:04:31,517 INFO L290 TraceCheckUtils]: 76: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-15 12:04:31,517 INFO L290 TraceCheckUtils]: 77: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 12:04:31,517 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:31,517 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:31,517 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-15 12:04:31,517 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-15 12:04:31,517 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-15 12:04:31,518 INFO L290 TraceCheckUtils]: 83: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 12:04:31,518 INFO L290 TraceCheckUtils]: 84: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-15 12:04:31,518 INFO L290 TraceCheckUtils]: 85: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 12:04:31,518 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:31,518 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:31,518 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-15 12:04:31,518 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-15 12:04:31,518 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-15 12:04:31,518 INFO L290 TraceCheckUtils]: 91: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 12:04:31,518 INFO L290 TraceCheckUtils]: 92: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-15 12:04:31,518 INFO L290 TraceCheckUtils]: 93: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 12:04:31,518 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:31,518 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:31,518 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-15 12:04:31,519 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-15 12:04:31,519 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-15 12:04:31,519 INFO L290 TraceCheckUtils]: 99: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 12:04:31,519 INFO L290 TraceCheckUtils]: 100: Hoare triple {40463#false} assume !(0 == ~cond); {40463#false} is VALID [2022-04-15 12:04:31,519 INFO L290 TraceCheckUtils]: 101: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 12:04:31,519 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40463#false} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:31,519 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:31,519 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-15 12:04:31,519 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-15 12:04:31,519 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-15 12:04:31,519 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 12:04:31,519 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-15 12:04:31,519 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-15 12:04:31,520 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-15 12:04:31,520 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:04:37,562 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-15 12:04:37,728 INFO L356 Elim1Store]: treesize reduction 140, result has 45.3 percent of original size [2022-04-15 12:04:37,729 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-15 12:04:40,297 INFO L290 TraceCheckUtils]: 109: Hoare triple {40463#false} assume !false; {40463#false} is VALID [2022-04-15 12:04:40,297 INFO L290 TraceCheckUtils]: 108: Hoare triple {40463#false} assume 0 == ~cond; {40463#false} is VALID [2022-04-15 12:04:40,297 INFO L290 TraceCheckUtils]: 107: Hoare triple {40463#false} ~cond := #in~cond; {40463#false} is VALID [2022-04-15 12:04:40,297 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-15 12:04:40,297 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-15 12:04:40,297 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-15 12:04:40,297 INFO L290 TraceCheckUtils]: 103: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:40,297 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:40,297 INFO L290 TraceCheckUtils]: 101: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:40,298 INFO L290 TraceCheckUtils]: 100: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:40,298 INFO L290 TraceCheckUtils]: 99: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:40,298 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-15 12:04:40,298 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-15 12:04:40,298 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-15 12:04:40,298 INFO L290 TraceCheckUtils]: 95: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:40,298 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:40,298 INFO L290 TraceCheckUtils]: 93: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:40,298 INFO L290 TraceCheckUtils]: 92: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:40,298 INFO L290 TraceCheckUtils]: 91: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:40,299 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-15 12:04:40,299 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-15 12:04:40,299 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-15 12:04:40,299 INFO L290 TraceCheckUtils]: 87: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:40,299 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:40,299 INFO L290 TraceCheckUtils]: 85: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:40,299 INFO L290 TraceCheckUtils]: 84: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:40,299 INFO L290 TraceCheckUtils]: 83: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:40,299 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-15 12:04:40,299 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-15 12:04:40,299 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-15 12:04:40,300 INFO L290 TraceCheckUtils]: 79: Hoare triple {40463#false} havoc #t~mem9; {40463#false} is VALID [2022-04-15 12:04:40,300 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {40462#true} {40463#false} #93#return; {40463#false} is VALID [2022-04-15 12:04:40,300 INFO L290 TraceCheckUtils]: 77: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:40,300 INFO L290 TraceCheckUtils]: 76: Hoare triple {40462#true} assume !(0 == ~cond); {40462#true} is VALID [2022-04-15 12:04:40,300 INFO L290 TraceCheckUtils]: 75: Hoare triple {40462#true} ~cond := #in~cond; {40462#true} is VALID [2022-04-15 12:04:40,300 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-15 12:04:40,300 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-15 12:04:40,300 INFO L290 TraceCheckUtils]: 72: Hoare triple {40463#false} ~i~1 := 0; {40463#false} is VALID [2022-04-15 12:04:40,300 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {40463#false} {40462#true} #91#return; {40463#false} is VALID [2022-04-15 12:04:40,300 INFO L290 TraceCheckUtils]: 70: Hoare triple {40463#false} assume true; {40463#false} is VALID [2022-04-15 12:04:40,300 INFO L290 TraceCheckUtils]: 69: Hoare triple {40463#false} assume !(~lh~0 < ~n~0); {40463#false} is VALID [2022-04-15 12:04:40,300 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-15 12:04:40,301 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-15 12:04:40,301 INFO L290 TraceCheckUtils]: 66: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-15 12:04:40,301 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-15 12:04:40,301 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-15 12:04:40,301 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-15 12:04:40,301 INFO L290 TraceCheckUtils]: 62: Hoare triple {40463#false} assume !(~i~0 < ~n~0); {40463#false} is VALID [2022-04-15 12:04:40,301 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-15 12:04:40,301 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-15 12:04:40,302 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-15 12:04:40,303 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-15 12:04:40,303 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-15 12:04:40,304 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-15 12:04:40,305 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-15 12:04:40,305 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-15 12:04:40,306 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-15 12:04:40,307 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-15 12:04:40,309 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-15 12:04:40,309 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-15 12:04:40,310 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-15 12:04:40,311 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-15 12:04:40,312 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-15 12:04:40,313 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-15 12:04:40,314 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-15 12:04:40,315 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-15 12:04:40,315 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-15 12:04:40,316 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-15 12:04:40,316 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-15 12:04:40,318 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-15 12:04:40,319 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-15 12:04:40,323 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-15 12:04:40,323 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-15 12:04:40,324 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-15 12:04:40,325 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-15 12:04:40,326 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-15 12:04:40,328 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-15 12:04:40,328 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-15 12:04:40,329 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-15 12:04:40,330 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-15 12:04:40,330 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-15 12:04:40,334 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-15 12:04:40,335 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-15 12:04:40,336 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-15 12:04:40,339 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-15 12:04:40,340 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-15 12:04:40,340 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-15 12:04:40,344 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-15 12:04:40,344 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-15 12:04:40,348 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-15 12:04:40,348 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-15 12:04:40,348 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-15 12:04:40,348 INFO L272 TraceCheckUtils]: 17: Hoare triple {40462#true} call SelectionSort(); {40462#true} is VALID [2022-04-15 12:04:40,349 INFO L290 TraceCheckUtils]: 16: Hoare triple {40462#true} assume !(~i~1 >= 0); {40462#true} is VALID [2022-04-15 12:04:40,349 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-15 12:04:40,349 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-15 12:04:40,349 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-15 12:04:40,349 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-15 12:04:40,349 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-15 12:04:40,349 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-15 12:04:40,349 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-15 12:04:40,349 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-15 12:04:40,349 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-15 12:04:40,349 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-15 12:04:40,349 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-15 12:04:40,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {40462#true} call #t~ret10 := main(); {40462#true} is VALID [2022-04-15 12:04:40,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40462#true} {40462#true} #95#return; {40462#true} is VALID [2022-04-15 12:04:40,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {40462#true} assume true; {40462#true} is VALID [2022-04-15 12:04:40,350 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-15 12:04:40,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {40462#true} call ULTIMATE.init(); {40462#true} is VALID [2022-04-15 12:04:40,350 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-15 12:04:40,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1233950535] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:04:40,351 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:04:40,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 25, 24] total 60 [2022-04-15 12:04:40,351 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:04:40,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1025284234] [2022-04-15 12:04:40,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1025284234] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:04:40,351 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:04:40,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 12:04:40,351 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [706272972] [2022-04-15 12:04:40,351 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:04:40,352 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-15 12:04:40,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:04:40,352 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-15 12:04:40,394 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-15 12:04:40,395 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 12:04:40,395 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:04:40,395 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 12:04:40,395 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=240, Invalid=3300, Unknown=0, NotChecked=0, Total=3540 [2022-04-15 12:04:40,396 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-15 12:04:46,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:04:46,312 INFO L93 Difference]: Finished difference Result 1142 states and 1560 transitions. [2022-04-15 12:04:46,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 12:04:46,313 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-15 12:04:46,313 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:04:46,313 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-15 12:04:46,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2022-04-15 12:04:46,314 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-15 12:04:46,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 72 transitions. [2022-04-15 12:04:46,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 72 transitions. [2022-04-15 12:04:46,384 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-15 12:04:46,396 INFO L225 Difference]: With dead ends: 1142 [2022-04-15 12:04:46,396 INFO L226 Difference]: Without dead ends: 563 [2022-04-15 12:04:46,397 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 260 GetRequests, 192 SyntacticMatches, 0 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1462 ImplicationChecksByTransitivity, 2.2s TimeCoverageRelationStatistics Valid=380, Invalid=4450, Unknown=0, NotChecked=0, Total=4830 [2022-04-15 12:04:46,398 INFO L913 BasicCegarLoop]: 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-15 12:04:46,398 INFO L914 BasicCegarLoop]: 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-15 12:04:46,398 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 563 states. [2022-04-15 12:04:51,325 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 563 to 563. [2022-04-15 12:04:51,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:04:51,326 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-15 12:04:51,327 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-15 12:04:51,327 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-15 12:04:51,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:04:51,349 INFO L93 Difference]: Finished difference Result 563 states and 767 transitions. [2022-04-15 12:04:51,349 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-15 12:04:51,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:04:51,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:04:51,352 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-15 12:04:51,352 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-15 12:04:51,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:04:51,383 INFO L93 Difference]: Finished difference Result 563 states and 767 transitions. [2022-04-15 12:04:51,383 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-15 12:04:51,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:04:51,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:04:51,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:04:51,383 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:04:51,384 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-15 12:04:51,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 563 states to 563 states and 767 transitions. [2022-04-15 12:04:51,404 INFO L78 Accepts]: Start accepts. Automaton has 563 states and 767 transitions. Word has length 110 [2022-04-15 12:04:51,404 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:04:51,404 INFO L478 AbstractCegarLoop]: Abstraction has 563 states and 767 transitions. [2022-04-15 12:04:51,404 INFO L479 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-15 12:04:51,404 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 563 states and 767 transitions. [2022-04-15 12:04:54,766 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-15 12:04:54,766 INFO L276 IsEmpty]: Start isEmpty. Operand 563 states and 767 transitions. [2022-04-15 12:04:54,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 12:04:54,767 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:04:54,767 INFO L499 BasicCegarLoop]: 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-15 12:04:54,787 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-15 12:04:54,985 WARN L460 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-15 12:04:54,985 INFO L403 AbstractCegarLoop]: === Iteration 31 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:04:54,985 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:04:54,985 INFO L85 PathProgramCache]: Analyzing trace with hash 120276278, now seen corresponding path program 11 times [2022-04-15 12:04:54,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:04:54,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [99030643] [2022-04-15 12:04:54,987 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:04:54,987 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:04:54,988 INFO L85 PathProgramCache]: Analyzing trace with hash 120276278, now seen corresponding path program 12 times [2022-04-15 12:04:54,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:04:54,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1858821535] [2022-04-15 12:04:54,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:04:54,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:04:55,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:55,200 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:04:55,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:55,218 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-15 12:04:55,219 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-15 12:04:55,219 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-15 12:04:55,225 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:04:55,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:56,008 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-15 12:04:56,009 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-15 12:04:56,009 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-15 12:04:56,010 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-15 12:04:56,011 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-15 12:04:56,012 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-15 12:04:56,012 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-15 12:04:56,013 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-15 12:04:56,013 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-15 12:04:56,014 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-15 12:04:56,015 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-15 12:04:56,016 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-15 12:04:56,017 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-15 12:04:56,018 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-15 12:04:56,018 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-15 12:04:56,019 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-15 12:04:56,020 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-15 12:04:56,021 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-15 12:04:56,022 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-15 12:04:56,022 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-15 12:04:56,023 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-15 12:04:56,024 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-15 12:04:56,025 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-15 12:04:56,026 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-15 12:04:56,026 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-15 12:04:56,027 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-15 12:04:56,027 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-15 12:04:56,027 INFO L290 TraceCheckUtils]: 27: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:56,027 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-15 12:04:56,027 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-15 12:04:56,027 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-15 12:04:56,027 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-15 12:04:56,027 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-15 12:04:56,027 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-15 12:04:56,027 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-15 12:04:56,027 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-15 12:04:56,027 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-15 12:04:56,028 INFO L290 TraceCheckUtils]: 37: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:56,028 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-15 12:04:56,028 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-15 12:04:56,028 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-15 12:04:56,028 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-15 12:04:56,028 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-15 12:04:56,028 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-15 12:04:56,028 INFO L290 TraceCheckUtils]: 44: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:56,028 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-15 12:04:56,028 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-15 12:04:56,028 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-15 12:04:56,028 INFO L290 TraceCheckUtils]: 48: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:56,028 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-15 12:04:56,028 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-15 12:04:56,028 INFO L290 TraceCheckUtils]: 51: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:56,029 INFO L290 TraceCheckUtils]: 52: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 12:04:56,029 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-15 12:04:56,029 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:04:56,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:56,032 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:04:56,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:04:56,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:04:56,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:56,032 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:04:56,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:56,035 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:04:56,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:04:56,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:04:56,035 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:56,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:04:56,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:56,037 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:04:56,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:04:56,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:04:56,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:56,038 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 12:04:56,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:56,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:04:56,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:04:56,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:04:56,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:56,040 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-15 12:04:56,041 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-15 12:04:56,042 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-15 12:04:56,042 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-15 12:04:56,043 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-15 12:04:56,043 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-15 12:04:56,044 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-15 12:04:56,044 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-15 12:04:56,045 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-15 12:04:56,046 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-15 12:04:56,046 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-15 12:04:56,047 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-15 12:04:56,047 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-15 12:04:56,048 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-15 12:04:56,048 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-15 12:04:56,049 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-15 12:04:56,049 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-15 12:04:56,050 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-15 12:04:56,050 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-15 12:04:56,050 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-15 12:04:56,051 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-15 12:04:56,052 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-15 12:04:56,053 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-15 12:04:56,053 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-15 12:04:56,054 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-15 12:04:56,054 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-15 12:04:56,055 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-15 12:04:56,056 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-15 12:04:56,057 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-15 12:04:56,057 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-15 12:04:56,058 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-15 12:04:56,059 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-15 12:04:56,060 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-15 12:04:56,061 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-15 12:04:56,062 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-15 12:04:56,063 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-15 12:04:56,063 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-15 12:04:56,064 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-15 12:04:56,065 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-15 12:04:56,066 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-15 12:04:56,066 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-15 12:04:56,067 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-15 12:04:56,068 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-15 12:04:56,068 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-15 12:04:56,068 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-15 12:04:56,068 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:56,068 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-15 12:04:56,068 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-15 12:04:56,068 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-15 12:04:56,068 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-15 12:04:56,069 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-15 12:04:56,069 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-15 12:04:56,069 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-15 12:04:56,069 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-15 12:04:56,069 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-15 12:04:56,069 INFO L290 TraceCheckUtils]: 55: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:56,069 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-15 12:04:56,069 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-15 12:04:56,069 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-15 12:04:56,069 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-15 12:04:56,069 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-15 12:04:56,069 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-15 12:04:56,069 INFO L290 TraceCheckUtils]: 62: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:56,069 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-15 12:04:56,069 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-15 12:04:56,070 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-15 12:04:56,070 INFO L290 TraceCheckUtils]: 66: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:56,070 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-15 12:04:56,070 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-15 12:04:56,070 INFO L290 TraceCheckUtils]: 69: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:56,070 INFO L290 TraceCheckUtils]: 70: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 12:04:56,070 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-15 12:04:56,070 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-15 12:04:56,070 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-15 12:04:56,070 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-15 12:04:56,070 INFO L290 TraceCheckUtils]: 75: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:04:56,070 INFO L290 TraceCheckUtils]: 76: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:04:56,070 INFO L290 TraceCheckUtils]: 77: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:04:56,070 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:56,071 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:04:56,071 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-15 12:04:56,071 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-15 12:04:56,071 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-15 12:04:56,071 INFO L290 TraceCheckUtils]: 83: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:04:56,071 INFO L290 TraceCheckUtils]: 84: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:04:56,071 INFO L290 TraceCheckUtils]: 85: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:04:56,071 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:56,071 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:04:56,071 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-15 12:04:56,071 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-15 12:04:56,071 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-15 12:04:56,071 INFO L290 TraceCheckUtils]: 91: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:04:56,071 INFO L290 TraceCheckUtils]: 92: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:04:56,071 INFO L290 TraceCheckUtils]: 93: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:04:56,072 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:56,072 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:04:56,072 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-15 12:04:56,072 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-15 12:04:56,072 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-15 12:04:56,072 INFO L290 TraceCheckUtils]: 99: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:04:56,072 INFO L290 TraceCheckUtils]: 100: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:04:56,072 INFO L290 TraceCheckUtils]: 101: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:04:56,072 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:56,072 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:04:56,072 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-15 12:04:56,072 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-15 12:04:56,072 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-15 12:04:56,072 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 12:04:56,072 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-15 12:04:56,073 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-15 12:04:56,073 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-15 12:04:56,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:04:56,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1858821535] [2022-04-15 12:04:56,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1858821535] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:04:56,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1719476017] [2022-04-15 12:04:56,074 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:04:56,074 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:04:56,074 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:04:56,075 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-15 12:04:56,075 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-15 12:04:56,379 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 10 check-sat command(s) [2022-04-15 12:04:56,379 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:04:56,383 INFO L263 TraceCheckSpWp]: Trace formula consists of 354 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-15 12:04:56,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:04:56,408 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:04:57,737 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:04:57,738 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:04:57,739 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:04:57,759 INFO L356 Elim1Store]: treesize reduction 99, result has 22.0 percent of original size [2022-04-15 12:04:57,760 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-15 12:04:59,000 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-15 12:04:59,001 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:04:59,002 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:04:59,002 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-15 12:04:59,007 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-15 12:04:59,007 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-15 12:04:59,183 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45811#true} is VALID [2022-04-15 12:04:59,184 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-15 12:04:59,184 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-15 12:04:59,185 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-15 12:04:59,185 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-15 12:04:59,185 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-15 12:04:59,186 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-15 12:04:59,186 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-15 12:04:59,187 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-15 12:04:59,187 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-15 12:04:59,187 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-15 12:04:59,188 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-15 12:04:59,188 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-15 12:04:59,189 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-15 12:04:59,189 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-15 12:04:59,189 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-15 12:04:59,195 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-15 12:04:59,196 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-15 12:04:59,203 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-15 12:04:59,204 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-15 12:04:59,205 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-15 12:04:59,205 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-15 12:04:59,206 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-15 12:04:59,206 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-15 12:04:59,207 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-15 12:04:59,207 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-15 12:04:59,208 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-15 12:04:59,210 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-15 12:04:59,211 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-15 12:04:59,213 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-15 12:04:59,214 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-15 12:04:59,215 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-15 12:04:59,216 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-15 12:04:59,218 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-15 12:04:59,218 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-15 12:04:59,219 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-15 12:04:59,220 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-15 12:04:59,221 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-15 12:04:59,222 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-15 12:04:59,223 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-15 12:04:59,224 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-15 12:04:59,225 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-15 12:04:59,225 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-15 12:04:59,226 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-15 12:04:59,226 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-15 12:04:59,226 INFO L290 TraceCheckUtils]: 45: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:59,226 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-15 12:04:59,226 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-15 12:04:59,226 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-15 12:04:59,226 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-15 12:04:59,226 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-15 12:04:59,226 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-15 12:04:59,226 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-15 12:04:59,227 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-15 12:04:59,227 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-15 12:04:59,227 INFO L290 TraceCheckUtils]: 55: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:59,227 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-15 12:04:59,227 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-15 12:04:59,227 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-15 12:04:59,227 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-15 12:04:59,227 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-15 12:04:59,227 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-15 12:04:59,227 INFO L290 TraceCheckUtils]: 62: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:59,227 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-15 12:04:59,227 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-15 12:04:59,227 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-15 12:04:59,227 INFO L290 TraceCheckUtils]: 66: Hoare triple {45812#false} assume !(~i~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:59,228 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-15 12:04:59,228 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-15 12:04:59,228 INFO L290 TraceCheckUtils]: 69: Hoare triple {45812#false} assume !(~lh~0 < ~n~0); {45812#false} is VALID [2022-04-15 12:04:59,228 INFO L290 TraceCheckUtils]: 70: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 12:04:59,228 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-15 12:04:59,228 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-15 12:04:59,228 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-15 12:04:59,228 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-15 12:04:59,228 INFO L290 TraceCheckUtils]: 75: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 12:04:59,228 INFO L290 TraceCheckUtils]: 76: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-15 12:04:59,228 INFO L290 TraceCheckUtils]: 77: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 12:04:59,228 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:59,228 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:04:59,228 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-15 12:04:59,229 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-15 12:04:59,229 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-15 12:04:59,229 INFO L290 TraceCheckUtils]: 83: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 12:04:59,229 INFO L290 TraceCheckUtils]: 84: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-15 12:04:59,229 INFO L290 TraceCheckUtils]: 85: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 12:04:59,229 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:59,229 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:04:59,229 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-15 12:04:59,229 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-15 12:04:59,229 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-15 12:04:59,229 INFO L290 TraceCheckUtils]: 91: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 12:04:59,229 INFO L290 TraceCheckUtils]: 92: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-15 12:04:59,229 INFO L290 TraceCheckUtils]: 93: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 12:04:59,229 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:59,229 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:04:59,230 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-15 12:04:59,230 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-15 12:04:59,230 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-15 12:04:59,230 INFO L290 TraceCheckUtils]: 99: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 12:04:59,230 INFO L290 TraceCheckUtils]: 100: Hoare triple {45812#false} assume !(0 == ~cond); {45812#false} is VALID [2022-04-15 12:04:59,230 INFO L290 TraceCheckUtils]: 101: Hoare triple {45812#false} assume true; {45812#false} is VALID [2022-04-15 12:04:59,230 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45812#false} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:04:59,230 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:04:59,230 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-15 12:04:59,230 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-15 12:04:59,230 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-15 12:04:59,230 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 12:04:59,230 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-15 12:04:59,230 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-15 12:04:59,231 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-15 12:04:59,231 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:05:00,606 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-15 12:05:01,064 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-15 12:05:01,176 INFO L356 Elim1Store]: treesize reduction 78, result has 41.4 percent of original size [2022-04-15 12:05:01,176 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-15 12:05:09,261 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-15 12:05:09,443 INFO L356 Elim1Store]: treesize reduction 109, result has 56.6 percent of original size [2022-04-15 12:05:09,444 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-15 12:05:29,476 INFO L290 TraceCheckUtils]: 109: Hoare triple {45812#false} assume !false; {45812#false} is VALID [2022-04-15 12:05:29,476 INFO L290 TraceCheckUtils]: 108: Hoare triple {45812#false} assume 0 == ~cond; {45812#false} is VALID [2022-04-15 12:05:29,476 INFO L290 TraceCheckUtils]: 107: Hoare triple {45812#false} ~cond := #in~cond; {45812#false} is VALID [2022-04-15 12:05:29,476 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-15 12:05:29,476 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-15 12:05:29,476 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-15 12:05:29,476 INFO L290 TraceCheckUtils]: 103: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:05:29,476 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:05:29,476 INFO L290 TraceCheckUtils]: 101: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:05:29,476 INFO L290 TraceCheckUtils]: 100: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:05:29,476 INFO L290 TraceCheckUtils]: 99: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:05:29,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-15 12:05:29,477 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-15 12:05:29,477 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-15 12:05:29,477 INFO L290 TraceCheckUtils]: 95: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:05:29,477 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:05:29,477 INFO L290 TraceCheckUtils]: 93: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:05:29,477 INFO L290 TraceCheckUtils]: 92: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:05:29,477 INFO L290 TraceCheckUtils]: 91: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:05:29,477 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-15 12:05:29,477 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-15 12:05:29,477 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-15 12:05:29,477 INFO L290 TraceCheckUtils]: 87: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:05:29,477 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:05:29,477 INFO L290 TraceCheckUtils]: 85: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:05:29,478 INFO L290 TraceCheckUtils]: 84: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:05:29,478 INFO L290 TraceCheckUtils]: 83: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:05:29,478 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-15 12:05:29,478 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-15 12:05:29,478 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-15 12:05:29,478 INFO L290 TraceCheckUtils]: 79: Hoare triple {45812#false} havoc #t~mem9; {45812#false} is VALID [2022-04-15 12:05:29,478 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {45811#true} {45812#false} #93#return; {45812#false} is VALID [2022-04-15 12:05:29,478 INFO L290 TraceCheckUtils]: 77: Hoare triple {45811#true} assume true; {45811#true} is VALID [2022-04-15 12:05:29,478 INFO L290 TraceCheckUtils]: 76: Hoare triple {45811#true} assume !(0 == ~cond); {45811#true} is VALID [2022-04-15 12:05:29,478 INFO L290 TraceCheckUtils]: 75: Hoare triple {45811#true} ~cond := #in~cond; {45811#true} is VALID [2022-04-15 12:05:29,478 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-15 12:05:29,478 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-15 12:05:29,478 INFO L290 TraceCheckUtils]: 72: Hoare triple {45812#false} ~i~1 := 0; {45812#false} is VALID [2022-04-15 12:05:29,486 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #91#return; {45812#false} is VALID [2022-04-15 12:05:29,487 INFO L290 TraceCheckUtils]: 70: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume true; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,487 INFO L290 TraceCheckUtils]: 69: Hoare triple {46385#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< SelectionSort_~lh~0 ~n~0) (not (<= ~n~0 5)))} assume !(~lh~0 < ~n~0); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,488 INFO L290 TraceCheckUtils]: 68: Hoare triple {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46385#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< SelectionSort_~lh~0 ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,488 INFO L290 TraceCheckUtils]: 67: Hoare triple {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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); {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,489 INFO L290 TraceCheckUtils]: 66: Hoare triple {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46389#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,490 INFO L290 TraceCheckUtils]: 65: Hoare triple {46399#(or (< (+ SelectionSort_~lh~0 1) ~n~0) (not (< SelectionSort_~lh~0 ~n~0)) (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,490 INFO L290 TraceCheckUtils]: 64: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,491 INFO L290 TraceCheckUtils]: 63: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,491 INFO L290 TraceCheckUtils]: 62: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,492 INFO L290 TraceCheckUtils]: 61: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,492 INFO L290 TraceCheckUtils]: 60: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,493 INFO L290 TraceCheckUtils]: 59: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,493 INFO L290 TraceCheckUtils]: 58: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,494 INFO L290 TraceCheckUtils]: 57: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,494 INFO L290 TraceCheckUtils]: 56: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,495 INFO L290 TraceCheckUtils]: 55: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,495 INFO L290 TraceCheckUtils]: 54: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,496 INFO L290 TraceCheckUtils]: 53: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,496 INFO L290 TraceCheckUtils]: 52: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,497 INFO L290 TraceCheckUtils]: 51: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,497 INFO L290 TraceCheckUtils]: 50: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,498 INFO L290 TraceCheckUtils]: 49: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,498 INFO L290 TraceCheckUtils]: 48: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,499 INFO L290 TraceCheckUtils]: 47: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,499 INFO L290 TraceCheckUtils]: 46: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,500 INFO L290 TraceCheckUtils]: 45: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,500 INFO L290 TraceCheckUtils]: 44: Hoare triple {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,501 INFO L290 TraceCheckUtils]: 43: Hoare triple {46466#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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; {46378#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,502 INFO L290 TraceCheckUtils]: 42: Hoare triple {46470#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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); {46466#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,502 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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46470#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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-15 12:05:29,503 INFO L290 TraceCheckUtils]: 40: Hoare triple {46478#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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 (<= ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,504 INFO L290 TraceCheckUtils]: 39: Hoare triple {46478#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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 (<= ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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 (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,505 INFO L290 TraceCheckUtils]: 38: Hoare triple {46485#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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 (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,506 INFO L290 TraceCheckUtils]: 37: Hoare triple {46485#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~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-15 12:05:29,506 INFO L290 TraceCheckUtils]: 36: Hoare triple {46485#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~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-15 12:05:29,508 INFO L290 TraceCheckUtils]: 35: Hoare triple {46495#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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)))) (not (<= ~n~0 5)))} assume !!(~lh~0 < ~n~0);~rh~0 := ~lh~0;~i~0 := 1 + ~lh~0; {46485#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~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-15 12:05:29,508 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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} #t~post1 := ~lh~0;~lh~0 := 1 + #t~post1;havoc #t~post1; {46495#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (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)))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,510 INFO L290 TraceCheckUtils]: 33: Hoare triple {46503#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (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); {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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (not (<= 2 ~n~0)) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,510 INFO L290 TraceCheckUtils]: 32: Hoare triple {46507#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< SelectionSort_~i~0 ~n~0) (not (<= ~n~0 5)))} assume !(~i~0 < ~n~0); {46503#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,511 INFO L290 TraceCheckUtils]: 31: Hoare triple {46511#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ 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 (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< SelectionSort_~i~0 ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,512 INFO L290 TraceCheckUtils]: 30: Hoare triple {46515#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ 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 (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,513 INFO L290 TraceCheckUtils]: 29: Hoare triple {46519#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (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 (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,515 INFO L290 TraceCheckUtils]: 28: Hoare triple {46523#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ 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 (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (< SelectionSort_~i~0 ~n~0)) (< (+ SelectionSort_~i~0 1) ~n~0) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,516 INFO L290 TraceCheckUtils]: 27: Hoare triple {46527#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ 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 (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ SelectionSort_~i~0 2) ~n~0) (not (< (+ SelectionSort_~i~0 1) ~n~0)) (not (<= ~n~0 5)))} is VALID [2022-04-15 12:05:29,518 INFO L290 TraceCheckUtils]: 26: Hoare triple {46531#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~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); {46527#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< (+ 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-15 12:05:29,519 INFO L290 TraceCheckUtils]: 25: Hoare triple {46531#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46531#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} is VALID [2022-04-15 12:05:29,520 INFO L290 TraceCheckUtils]: 24: Hoare triple {46531#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} assume !(#t~mem3 < #t~mem4);havoc #t~mem3;havoc #t~mem4; {46531#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} is VALID [2022-04-15 12:05:29,521 INFO L290 TraceCheckUtils]: 23: Hoare triple {46531#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~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); {46531#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} is VALID [2022-04-15 12:05:29,523 INFO L290 TraceCheckUtils]: 22: Hoare triple {46531#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {46531#(or (and (not (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} is VALID [2022-04-15 12:05:29,524 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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~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 (<= 4 ~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)))))) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (< ~n~0 2))} is VALID [2022-04-15 12:05:29,526 INFO L290 TraceCheckUtils]: 20: Hoare triple {46551#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~n~0))) (not (< |SelectionSort_#t~mem3| |SelectionSort_#t~mem4|)) (< ~n~0 2))} is VALID [2022-04-15 12:05:29,527 INFO L290 TraceCheckUtils]: 19: Hoare triple {46555#(or (and (not (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~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-15 12:05:29,527 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 (<= 4 ~n~0)) (not (<= ~n~0 2))) (< 5 ~n~0) (and (not (<= ~n~0 3)) (not (< 4 ~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-15 12:05:29,527 INFO L272 TraceCheckUtils]: 17: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} call SelectionSort(); {45811#true} is VALID [2022-04-15 12:05:29,528 INFO L290 TraceCheckUtils]: 16: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume !(~i~1 >= 0); {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,528 INFO L290 TraceCheckUtils]: 15: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,529 INFO L290 TraceCheckUtils]: 14: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~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 (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,529 INFO L290 TraceCheckUtils]: 13: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,529 INFO L290 TraceCheckUtils]: 12: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~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 (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,530 INFO L290 TraceCheckUtils]: 11: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,530 INFO L290 TraceCheckUtils]: 10: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~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 (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,531 INFO L290 TraceCheckUtils]: 8: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~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 (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,531 INFO L290 TraceCheckUtils]: 7: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} #t~post7 := ~i~1;~i~1 := #t~post7 - 1;havoc #t~post7; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,532 INFO L290 TraceCheckUtils]: 6: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~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 (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,532 INFO L290 TraceCheckUtils]: 5: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~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 (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,533 INFO L272 TraceCheckUtils]: 4: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} call #t~ret10 := main(); {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} {45811#true} #95#return; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} assume true; {46374#(and (or (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,534 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 (< 4 ~n~0) (<= ~n~0 3)) (or (<= ~n~0 2) (<= 4 ~n~0)) (<= ~n~0 5) (<= 2 ~n~0))} is VALID [2022-04-15 12:05:29,534 INFO L272 TraceCheckUtils]: 0: Hoare triple {45811#true} call ULTIMATE.init(); {45811#true} is VALID [2022-04-15 12:05:29,535 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-15 12:05:29,551 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1719476017] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:05:29,551 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:05:29,551 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [26, 22, 25] total 69 [2022-04-15 12:05:29,551 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:05:29,552 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [99030643] [2022-04-15 12:05:29,552 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [99030643] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:05:29,552 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:05:29,552 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [26] imperfect sequences [] total 26 [2022-04-15 12:05:29,552 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [510066249] [2022-04-15 12:05:29,552 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:05:29,552 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-15 12:05:29,552 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:05:29,553 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-15 12:05:29,610 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-15 12:05:29,610 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-15 12:05:29,610 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:05:29,610 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-15 12:05:29,611 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=408, Invalid=4284, Unknown=0, NotChecked=0, Total=4692 [2022-04-15 12:05:29,611 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-15 12:05:47,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:05:47,318 INFO L93 Difference]: Finished difference Result 1276 states and 1722 transitions. [2022-04-15 12:05:47,318 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 73 states. [2022-04-15 12:05:47,318 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-15 12:05:47,318 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:05:47,319 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-15 12:05:47,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 193 transitions. [2022-04-15 12:05:47,320 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-15 12:05:47,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 193 transitions. [2022-04-15 12:05:47,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 193 transitions. [2022-04-15 12:05:47,580 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-15 12:05:47,647 INFO L225 Difference]: With dead ends: 1276 [2022-04-15 12:05:47,647 INFO L226 Difference]: Without dead ends: 954 [2022-04-15 12:05:47,649 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 332 GetRequests, 195 SyntacticMatches, 1 SemanticMatches, 136 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5575 ImplicationChecksByTransitivity, 8.6s TimeCoverageRelationStatistics Valid=1857, Invalid=17049, Unknown=0, NotChecked=0, Total=18906 [2022-04-15 12:05:47,650 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 194 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 860 mSolverCounterSat, 281 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 12:05:47,650 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [195 Valid, 31 Invalid, 1141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [281 Valid, 860 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-15 12:05:47,650 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 954 states. [2022-04-15 12:05:53,263 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 954 to 611. [2022-04-15 12:05:53,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:05:53,265 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-15 12:05:53,265 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-15 12:05:53,266 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-15 12:05:53,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:05:53,299 INFO L93 Difference]: Finished difference Result 954 states and 1279 transitions. [2022-04-15 12:05:53,299 INFO L276 IsEmpty]: Start isEmpty. Operand 954 states and 1279 transitions. [2022-04-15 12:05:53,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:05:53,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:05:53,301 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-15 12:05:53,301 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-15 12:05:53,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:05:53,335 INFO L93 Difference]: Finished difference Result 954 states and 1279 transitions. [2022-04-15 12:05:53,335 INFO L276 IsEmpty]: Start isEmpty. Operand 954 states and 1279 transitions. [2022-04-15 12:05:53,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:05:53,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:05:53,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:05:53,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:05:53,337 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-15 12:05:53,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 611 states to 611 states and 831 transitions. [2022-04-15 12:05:53,356 INFO L78 Accepts]: Start accepts. Automaton has 611 states and 831 transitions. Word has length 110 [2022-04-15 12:05:53,356 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:05:53,356 INFO L478 AbstractCegarLoop]: Abstraction has 611 states and 831 transitions. [2022-04-15 12:05:53,357 INFO L479 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-15 12:05:53,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 611 states and 831 transitions. [2022-04-15 12:05:57,028 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-15 12:05:57,029 INFO L276 IsEmpty]: Start isEmpty. Operand 611 states and 831 transitions. [2022-04-15 12:05:57,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 12:05:57,030 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:05:57,030 INFO L499 BasicCegarLoop]: 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-15 12:05:57,047 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-15 12:05:57,238 WARN L460 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-15 12:05:57,238 INFO L403 AbstractCegarLoop]: === Iteration 32 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:05:57,238 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:05:57,238 INFO L85 PathProgramCache]: Analyzing trace with hash -412973256, now seen corresponding path program 13 times [2022-04-15 12:05:57,238 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:05:57,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [255756134] [2022-04-15 12:05:57,241 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:05:57,241 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:05:57,241 INFO L85 PathProgramCache]: Analyzing trace with hash -412973256, now seen corresponding path program 14 times [2022-04-15 12:05:57,241 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:05:57,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1665982043] [2022-04-15 12:05:57,241 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:05:57,241 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:05:57,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:05:57,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:05:57,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:05:57,342 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-15 12:05:57,342 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-15 12:05:57,343 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-15 12:05:57,346 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:05:57,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:05:57,870 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-15 12:05:57,870 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-15 12:05:57,871 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-15 12:05:57,871 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-15 12:05:57,872 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-15 12:05:57,873 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-15 12:05:57,873 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-15 12:05:57,881 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-15 12:05:57,882 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-15 12:05:57,882 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-15 12:05:57,883 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-15 12:05:57,884 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-15 12:05:57,884 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-15 12:05:57,885 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-15 12:05:57,886 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-15 12:05:57,887 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-15 12:05:57,888 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-15 12:05:57,889 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-15 12:05:57,890 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-15 12:05:57,890 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-15 12:05:57,890 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-15 12:05:57,891 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-15 12:05:57,891 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-15 12:05:57,891 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-15 12:05:57,892 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-15 12:05:57,892 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-15 12:05:57,892 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-15 12:05:57,892 INFO L290 TraceCheckUtils]: 27: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 12:05:57,892 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-15 12:05:57,892 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-15 12:05:57,892 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-15 12:05:57,892 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-15 12:05:57,892 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-15 12:05:57,892 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-15 12:05:57,892 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-15 12:05:57,892 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-15 12:05:57,893 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-15 12:05:57,893 INFO L290 TraceCheckUtils]: 37: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 12:05:57,893 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-15 12:05:57,893 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-15 12:05:57,893 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-15 12:05:57,893 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-15 12:05:57,893 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-15 12:05:57,893 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-15 12:05:57,893 INFO L290 TraceCheckUtils]: 44: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 12:05:57,893 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-15 12:05:57,893 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-15 12:05:57,893 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-15 12:05:57,893 INFO L290 TraceCheckUtils]: 48: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 12:05:57,893 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-15 12:05:57,894 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-15 12:05:57,894 INFO L290 TraceCheckUtils]: 51: Hoare triple {52435#false} assume !(~lh~0 < ~n~0); {52435#false} is VALID [2022-04-15 12:05:57,894 INFO L290 TraceCheckUtils]: 52: Hoare triple {52435#false} assume true; {52435#false} is VALID [2022-04-15 12:05:57,894 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-15 12:05:57,894 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:05:57,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:05:57,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 12:05:57,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 12:05:57,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 12:05:57,897 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 12:05:57,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:05:57,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:05:57,898 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 12:05:57,898 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 12:05:57,898 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 12:05:57,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 12:05:57,899 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:05:57,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:05:57,902 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 12:05:57,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 12:05:57,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 12:05:57,902 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 12:05:57,902 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 12:05:57,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:05:57,911 INFO L290 TraceCheckUtils]: 0: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 12:05:57,911 INFO L290 TraceCheckUtils]: 1: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 12:05:57,911 INFO L290 TraceCheckUtils]: 2: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 12:05:57,912 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 12:05:57,912 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-15 12:05:57,913 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-15 12:05:57,913 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-15 12:05:57,913 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-15 12:05:57,914 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-15 12:05:57,914 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-15 12:05:57,915 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-15 12:05:57,915 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-15 12:05:57,915 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-15 12:05:57,916 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-15 12:05:57,916 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-15 12:05:57,916 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-15 12:05:57,917 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-15 12:05:57,917 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-15 12:05:57,917 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-15 12:05:57,918 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-15 12:05:57,918 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-15 12:05:57,918 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-15 12:05:57,919 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-15 12:05:57,919 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-15 12:05:57,919 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-15 12:05:57,920 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-15 12:05:57,921 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-15 12:05:57,921 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-15 12:05:57,922 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-15 12:05:57,923 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-15 12:05:57,923 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-15 12:05:57,924 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-15 12:05:57,925 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-15 12:05:57,925 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-15 12:05:57,926 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-15 12:05:57,927 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-15 12:05:57,927 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-15 12:05:57,929 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-15 12:05:57,930 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-15 12:05:57,930 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-15 12:05:57,931 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-15 12:05:57,931 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-15 12:05:57,932 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-15 12:05:57,932 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-15 12:05:57,932 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-15 12:05:57,933 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-15 12:05:57,933 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-15 12:05:57,933 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-15 12:05:57,933 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-15 12:05:57,933 INFO L290 TraceCheckUtils]: 45: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 12:05:57,933 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-15 12:05:57,933 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-15 12:05:57,933 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-15 12:05:57,934 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-15 12:05:57,934 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-15 12:05:57,934 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-15 12:05:57,934 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-15 12:05:57,934 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-15 12:05:57,934 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-15 12:05:57,934 INFO L290 TraceCheckUtils]: 55: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 12:05:57,934 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-15 12:05:57,934 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-15 12:05:57,934 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-15 12:05:57,934 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-15 12:05:57,934 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-15 12:05:57,934 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-15 12:05:57,934 INFO L290 TraceCheckUtils]: 62: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 12:05:57,935 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-15 12:05:57,935 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-15 12:05:57,935 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-15 12:05:57,935 INFO L290 TraceCheckUtils]: 66: Hoare triple {52435#false} assume !(~i~0 < ~n~0); {52435#false} is VALID [2022-04-15 12:05:57,935 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-15 12:05:57,935 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-15 12:05:57,935 INFO L290 TraceCheckUtils]: 69: Hoare triple {52435#false} assume !(~lh~0 < ~n~0); {52435#false} is VALID [2022-04-15 12:05:57,935 INFO L290 TraceCheckUtils]: 70: Hoare triple {52435#false} assume true; {52435#false} is VALID [2022-04-15 12:05:57,935 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-15 12:05:57,935 INFO L290 TraceCheckUtils]: 72: Hoare triple {52435#false} ~i~1 := 0; {52435#false} is VALID [2022-04-15 12:05:57,935 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-15 12:05:57,935 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-15 12:05:57,935 INFO L290 TraceCheckUtils]: 75: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 12:05:57,935 INFO L290 TraceCheckUtils]: 76: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 12:05:57,935 INFO L290 TraceCheckUtils]: 77: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 12:05:57,936 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 12:05:57,936 INFO L290 TraceCheckUtils]: 79: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-15 12:05:57,936 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-15 12:05:57,936 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-15 12:05:57,936 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-15 12:05:57,936 INFO L290 TraceCheckUtils]: 83: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 12:05:57,936 INFO L290 TraceCheckUtils]: 84: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 12:05:57,936 INFO L290 TraceCheckUtils]: 85: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 12:05:57,936 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 12:05:57,936 INFO L290 TraceCheckUtils]: 87: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-15 12:05:57,936 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-15 12:05:57,936 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-15 12:05:57,936 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-15 12:05:57,936 INFO L290 TraceCheckUtils]: 91: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 12:05:57,936 INFO L290 TraceCheckUtils]: 92: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 12:05:57,937 INFO L290 TraceCheckUtils]: 93: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 12:05:57,937 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 12:05:57,937 INFO L290 TraceCheckUtils]: 95: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-15 12:05:57,937 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-15 12:05:57,937 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-15 12:05:57,937 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-15 12:05:57,937 INFO L290 TraceCheckUtils]: 99: Hoare triple {52434#true} ~cond := #in~cond; {52434#true} is VALID [2022-04-15 12:05:57,937 INFO L290 TraceCheckUtils]: 100: Hoare triple {52434#true} assume !(0 == ~cond); {52434#true} is VALID [2022-04-15 12:05:57,937 INFO L290 TraceCheckUtils]: 101: Hoare triple {52434#true} assume true; {52434#true} is VALID [2022-04-15 12:05:57,937 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {52434#true} {52435#false} #93#return; {52435#false} is VALID [2022-04-15 12:05:57,937 INFO L290 TraceCheckUtils]: 103: Hoare triple {52435#false} havoc #t~mem9; {52435#false} is VALID [2022-04-15 12:05:57,937 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-15 12:05:57,937 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-15 12:05:57,937 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-15 12:05:57,937 INFO L290 TraceCheckUtils]: 107: Hoare triple {52435#false} ~cond := #in~cond; {52435#false} is VALID [2022-04-15 12:05:57,938 INFO L290 TraceCheckUtils]: 108: Hoare triple {52435#false} assume 0 == ~cond; {52435#false} is VALID [2022-04-15 12:05:57,938 INFO L290 TraceCheckUtils]: 109: Hoare triple {52435#false} assume !false; {52435#false} is VALID [2022-04-15 12:05:57,938 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-15 12:05:57,938 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:05:57,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1665982043] [2022-04-15 12:05:57,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1665982043] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:05:57,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [112711020] [2022-04-15 12:05:57,938 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:05:57,939 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:05:57,939 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:05:57,940 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-15 12:05:57,940 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-15 12:05:58,099 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:05:58,099 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:05:58,102 INFO L263 TraceCheckSpWp]: Trace formula consists of 377 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-15 12:05:58,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:05:58,125 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:05:58,175 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 12:05:58,175 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-15 12:05:58,206 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-15 12:05:58,290 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:05:58,290 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-15 12:05:58,359 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:05:58,359 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-15 12:05:58,428 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:05:58,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 24 [2022-04-15 12:05:58,513 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:05:58,513 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-15 12:05:59,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 0 case distinctions, treesize of input 16 treesize of output 18 [2022-04-15 12:06:00,482 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 12:06:00,482 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-15 12:06:00,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {52434#true} call ULTIMATE.init(); {52434#true} is VALID [2022-04-15 12:06:00,574 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-15 12:06:00,575 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-15 12:06:00,575 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-15 12:06:00,575 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-15 12:06:00,576 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-15 12:06:00,577 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-15 12:06:00,577 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-15 12:06:00,578 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-15 12:06:00,578 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-15 12:06:00,579 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-15 12:06:00,579 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-15 12:06:00,580 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-15 12:06:00,580 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-15 12:06:00,581 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-15 12:06:00,582 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-15 12:06:00,582 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-15 12:06:00,582 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-15 12:06:00,583 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-15 12:06:00,583 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-15 12:06:00,584 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-15 12:06:00,585 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-15 12:06:00,585 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-15 12:06:00,586 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-15 12:06:00,586 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-15 12:06:00,586 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-15 12:06:00,587 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-15 12:06:00,587 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-15 12:06:00,588 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-15 12:06:00,588 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-15 12:06:00,588 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-15 12:06:00,589 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-15 12:06:00,589 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-15 12:06:00,590 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-15 12:06:00,591 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-15 12:06:00,591 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-15 12:06:00,592 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-15 12:06:00,592 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-15 12:06:00,593 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-15 12:06:00,593 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-15 12:06:00,594 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-15 12:06:00,595 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-15 12:06:00,595 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-15 12:06:00,596 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-15 12:06:00,596 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-15 12:06:00,597 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-15 12:06:00,599 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-15 12:06:00,599 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-15 12:06:00,600 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-15 12:06:00,600 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-15 12:06:00,601 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-15 12:06:00,601 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-15 12:06:00,602 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-15 12:06:00,603 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-15 12:06:00,603 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-15 12:06:00,604 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-15 12:06:00,605 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-15 12:06:00,606 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-15 12:06:00,606 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-15 12:06:00,607 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-15 12:06:00,608 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-15 12:06:00,608 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-15 12:06:00,609 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-15 12:06:00,610 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-15 12:06:00,611 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-15 12:06:00,612 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-15 12:06:00,612 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-15 12:06:00,614 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-15 12:06:00,614 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-15 12:06:00,615 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-15 12:06:00,615 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-15 12:06:00,616 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-15 12:06:00,617 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-15 12:06:00,617 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-15 12:06:00,618 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-15 12:06:00,618 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-15 12:06:00,619 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-15 12:06:00,619 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-15 12:06:00,620 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-15 12:06:00,620 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-15 12:06:00,620 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-15 12:06:00,621 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-15 12:06:00,622 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-15 12:06:00,622 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-15 12:06:00,623 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-15 12:06:00,623 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-15 12:06:00,624 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-15 12:06:00,624 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-15 12:06:00,624 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-15 12:06:00,625 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-15 12:06:00,626 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-15 12:06:00,626 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-15 12:06:00,627 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-15 12:06:00,627 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-15 12:06:00,628 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-15 12:06:00,628 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-15 12:06:00,628 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-15 12:06:00,629 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-15 12:06:00,630 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-15 12:06:00,630 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-15 12:06:00,630 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-15 12:06:00,631 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-15 12:06:00,631 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-15 12:06:00,632 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-15 12:06:00,632 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-15 12:06:00,633 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-15 12:06:00,633 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-15 12:06:00,634 INFO L290 TraceCheckUtils]: 107: Hoare triple {52868#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {52872#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:06:00,634 INFO L290 TraceCheckUtils]: 108: Hoare triple {52872#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {52435#false} is VALID [2022-04-15 12:06:00,634 INFO L290 TraceCheckUtils]: 109: Hoare triple {52435#false} assume !false; {52435#false} is VALID [2022-04-15 12:06:00,634 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-15 12:06:00,635 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:06:01,003 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-15 12:06:01,004 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [112711020] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:06:01,004 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:06:01,004 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 22] total 42 [2022-04-15 12:06:01,005 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:06:01,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [255756134] [2022-04-15 12:06:01,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [255756134] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:06:01,005 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:06:01,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-15 12:06:01,005 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2123059736] [2022-04-15 12:06:01,005 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:06:01,006 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-15 12:06:01,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:06:01,006 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-15 12:06:01,050 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-15 12:06:01,050 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-15 12:06:01,050 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:06:01,051 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-15 12:06:01,051 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=197, Invalid=2149, Unknown=10, NotChecked=94, Total=2450 [2022-04-15 12:06:01,051 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-15 12:06:17,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:06:17,258 INFO L93 Difference]: Finished difference Result 1355 states and 1832 transitions. [2022-04-15 12:06:17,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 57 states. [2022-04-15 12:06:17,258 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-15 12:06:17,258 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:06:17,259 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-15 12:06:17,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 179 transitions. [2022-04-15 12:06:17,260 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-15 12:06:17,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 179 transitions. [2022-04-15 12:06:17,261 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 179 transitions. [2022-04-15 12:06:17,474 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-15 12:06:17,513 INFO L225 Difference]: With dead ends: 1355 [2022-04-15 12:06:17,513 INFO L226 Difference]: Without dead ends: 973 [2022-04-15 12:06:17,514 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 236 GetRequests, 122 SyntacticMatches, 12 SemanticMatches, 102 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 3126 ImplicationChecksByTransitivity, 4.0s TimeCoverageRelationStatistics Valid=1312, Invalid=9188, Unknown=10, NotChecked=202, Total=10712 [2022-04-15 12:06:17,515 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 288 mSDsluCounter, 11 mSDsCounter, 0 mSdLazyCounter, 466 mSolverCounterSat, 251 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-15 12:06:17,515 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [288 Valid, 31 Invalid, 717 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [251 Valid, 466 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 12:06:17,515 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 973 states. [2022-04-15 12:06:26,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 973 to 824. [2022-04-15 12:06:26,563 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:06:26,564 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-15 12:06:26,565 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-15 12:06:26,565 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-15 12:06:26,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:06:26,593 INFO L93 Difference]: Finished difference Result 973 states and 1291 transitions. [2022-04-15 12:06:26,593 INFO L276 IsEmpty]: Start isEmpty. Operand 973 states and 1291 transitions. [2022-04-15 12:06:26,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:06:26,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:06:26,595 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-15 12:06:26,595 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-15 12:06:26,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:06:26,622 INFO L93 Difference]: Finished difference Result 973 states and 1291 transitions. [2022-04-15 12:06:26,622 INFO L276 IsEmpty]: Start isEmpty. Operand 973 states and 1291 transitions. [2022-04-15 12:06:26,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:06:26,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:06:26,623 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:06:26,623 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:06:26,624 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-15 12:06:26,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 824 states to 824 states and 1123 transitions. [2022-04-15 12:06:26,650 INFO L78 Accepts]: Start accepts. Automaton has 824 states and 1123 transitions. Word has length 110 [2022-04-15 12:06:26,650 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:06:26,650 INFO L478 AbstractCegarLoop]: Abstraction has 824 states and 1123 transitions. [2022-04-15 12:06:26,651 INFO L479 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-15 12:06:26,651 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 824 states and 1123 transitions. [2022-04-15 12:06:31,974 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-15 12:06:31,975 INFO L276 IsEmpty]: Start isEmpty. Operand 824 states and 1123 transitions. [2022-04-15 12:06:31,976 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 12:06:31,976 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:06:31,976 INFO L499 BasicCegarLoop]: 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-15 12:06:31,994 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-15 12:06:32,191 WARN L460 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-15 12:06:32,191 INFO L403 AbstractCegarLoop]: === Iteration 33 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:06:32,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:06:32,192 INFO L85 PathProgramCache]: Analyzing trace with hash -1264922498, now seen corresponding path program 15 times [2022-04-15 12:06:32,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:06:32,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [998743907] [2022-04-15 12:06:32,194 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:06:32,194 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:06:32,194 INFO L85 PathProgramCache]: Analyzing trace with hash -1264922498, now seen corresponding path program 16 times [2022-04-15 12:06:32,194 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:06:32,194 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1075399378] [2022-04-15 12:06:32,194 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:06:32,194 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:06:32,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:06:32,718 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:06:32,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:06:32,756 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-15 12:06:32,757 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-15 12:06:32,757 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-15 12:06:32,767 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:06:32,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:06:33,315 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-15 12:06:33,316 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-15 12:06:33,317 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-15 12:06:33,317 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-15 12:06:33,317 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-15 12:06:33,318 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-15 12:06:33,319 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-15 12:06:33,319 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-15 12:06:33,320 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-15 12:06:33,321 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-15 12:06:33,321 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-15 12:06:33,322 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-15 12:06:33,323 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-15 12:06:33,324 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-15 12:06:33,324 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-15 12:06:33,325 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-15 12:06:33,325 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-15 12:06:33,326 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-15 12:06:33,326 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-15 12:06:33,326 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-15 12:06:33,327 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-15 12:06:33,327 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-15 12:06:33,328 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-15 12:06:33,328 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-15 12:06:33,328 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-15 12:06:33,329 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-15 12:06:33,329 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-15 12:06:33,330 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-15 12:06:33,330 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-15 12:06:33,330 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-15 12:06:33,331 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-15 12:06:33,331 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-15 12:06:33,332 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-15 12:06:33,332 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-15 12:06:33,332 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-15 12:06:33,333 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-15 12:06:33,333 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-15 12:06:33,334 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-15 12:06:33,334 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-15 12:06:33,334 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-15 12:06:33,335 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-15 12:06:33,335 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-15 12:06:33,336 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-15 12:06:33,336 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-15 12:06:33,336 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-15 12:06:33,337 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-15 12:06:33,337 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-15 12:06:33,338 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-15 12:06:33,338 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-15 12:06:33,341 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-15 12:06:33,342 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-15 12:06:33,342 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-15 12:06:33,343 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-15 12:06:33,343 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-15 12:06:33,344 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:06:33,344 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:06:33,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 12:06:33,347 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 12:06:33,347 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 12:06:33,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 12:06:33,347 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:06:33,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:06:33,349 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 12:06:33,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 12:06:33,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 12:06:33,349 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 12:06:33,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:06:33,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:06:33,351 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 12:06:33,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 12:06:33,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 12:06:33,351 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 12:06:33,351 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 12:06:33,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:06:33,353 INFO L290 TraceCheckUtils]: 0: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 12:06:33,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 12:06:33,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 12:06:33,354 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 12:06:33,354 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-15 12:06:33,355 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-15 12:06:33,356 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-15 12:06:33,356 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-15 12:06:33,357 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-15 12:06:33,357 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-15 12:06:33,358 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-15 12:06:33,359 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-15 12:06:33,360 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-15 12:06:33,360 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-15 12:06:33,361 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-15 12:06:33,362 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-15 12:06:33,363 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-15 12:06:33,363 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-15 12:06:33,364 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-15 12:06:33,364 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-15 12:06:33,365 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-15 12:06:33,366 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-15 12:06:33,366 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-15 12:06:33,367 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-15 12:06:33,367 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-15 12:06:33,368 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-15 12:06:33,368 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-15 12:06:33,369 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-15 12:06:33,369 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-15 12:06:33,370 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-15 12:06:33,371 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-15 12:06:33,372 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-15 12:06:33,372 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-15 12:06:33,373 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-15 12:06:33,374 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-15 12:06:33,374 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-15 12:06:33,375 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-15 12:06:33,376 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-15 12:06:33,376 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-15 12:06:33,377 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-15 12:06:33,377 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-15 12:06:33,377 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-15 12:06:33,378 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-15 12:06:33,378 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-15 12:06:33,379 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-15 12:06:33,379 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-15 12:06:33,380 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-15 12:06:33,380 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-15 12:06:33,381 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-15 12:06:33,381 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-15 12:06:33,381 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-15 12:06:33,382 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-15 12:06:33,382 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-15 12:06:33,383 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-15 12:06:33,383 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-15 12:06:33,383 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-15 12:06:33,384 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-15 12:06:33,384 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-15 12:06:33,385 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-15 12:06:33,385 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-15 12:06:33,385 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-15 12:06:33,386 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-15 12:06:33,386 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-15 12:06:33,387 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-15 12:06:33,387 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-15 12:06:33,387 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-15 12:06:33,388 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-15 12:06:33,388 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-15 12:06:33,389 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-15 12:06:33,389 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-15 12:06:33,389 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-15 12:06:33,390 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-15 12:06:33,390 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-15 12:06:33,391 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-15 12:06:33,391 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-15 12:06:33,392 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-15 12:06:33,392 INFO L290 TraceCheckUtils]: 72: Hoare triple {59417#false} ~i~1 := 0; {59417#false} is VALID [2022-04-15 12:06:33,392 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-15 12:06:33,392 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-15 12:06:33,392 INFO L290 TraceCheckUtils]: 75: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 12:06:33,392 INFO L290 TraceCheckUtils]: 76: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 12:06:33,392 INFO L290 TraceCheckUtils]: 77: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 12:06:33,392 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 12:06:33,392 INFO L290 TraceCheckUtils]: 79: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-15 12:06:33,392 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-15 12:06:33,392 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-15 12:06:33,393 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-15 12:06:33,393 INFO L290 TraceCheckUtils]: 83: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 12:06:33,393 INFO L290 TraceCheckUtils]: 84: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 12:06:33,393 INFO L290 TraceCheckUtils]: 85: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 12:06:33,393 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 12:06:33,393 INFO L290 TraceCheckUtils]: 87: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-15 12:06:33,393 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-15 12:06:33,393 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-15 12:06:33,393 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-15 12:06:33,393 INFO L290 TraceCheckUtils]: 91: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 12:06:33,393 INFO L290 TraceCheckUtils]: 92: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 12:06:33,393 INFO L290 TraceCheckUtils]: 93: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 12:06:33,393 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 12:06:33,393 INFO L290 TraceCheckUtils]: 95: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-15 12:06:33,393 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-15 12:06:33,393 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-15 12:06:33,394 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-15 12:06:33,394 INFO L290 TraceCheckUtils]: 99: Hoare triple {59416#true} ~cond := #in~cond; {59416#true} is VALID [2022-04-15 12:06:33,394 INFO L290 TraceCheckUtils]: 100: Hoare triple {59416#true} assume !(0 == ~cond); {59416#true} is VALID [2022-04-15 12:06:33,394 INFO L290 TraceCheckUtils]: 101: Hoare triple {59416#true} assume true; {59416#true} is VALID [2022-04-15 12:06:33,394 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {59416#true} {59417#false} #93#return; {59417#false} is VALID [2022-04-15 12:06:33,394 INFO L290 TraceCheckUtils]: 103: Hoare triple {59417#false} havoc #t~mem9; {59417#false} is VALID [2022-04-15 12:06:33,394 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-15 12:06:33,394 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-15 12:06:33,394 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-15 12:06:33,394 INFO L290 TraceCheckUtils]: 107: Hoare triple {59417#false} ~cond := #in~cond; {59417#false} is VALID [2022-04-15 12:06:33,394 INFO L290 TraceCheckUtils]: 108: Hoare triple {59417#false} assume 0 == ~cond; {59417#false} is VALID [2022-04-15 12:06:33,394 INFO L290 TraceCheckUtils]: 109: Hoare triple {59417#false} assume !false; {59417#false} is VALID [2022-04-15 12:06:33,395 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-15 12:06:33,395 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:06:33,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1075399378] [2022-04-15 12:06:33,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1075399378] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:06:33,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1106480899] [2022-04-15 12:06:33,395 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:06:33,395 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:06:33,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:06:33,396 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-15 12:06:33,397 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-15 12:06:33,582 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:06:33,582 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:06:33,585 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-15 12:06:33,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:06:33,608 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:06:33,658 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 12:06:33,659 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-15 12:06:33,687 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-15 12:06:33,767 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 12:06:33,767 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-15 12:06:33,831 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 12:06:33,831 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-15 12:06:33,893 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 12:06:33,894 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-15 12:06:33,965 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-15 12:06:33,965 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-15 12:06:37,706 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-15 12:06:43,424 INFO L356 Elim1Store]: treesize reduction 14, result has 17.6 percent of original size [2022-04-15 12:06:43,424 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-15 12:06:43,587 INFO L272 TraceCheckUtils]: 0: Hoare triple {59416#true} call ULTIMATE.init(); {59416#true} is VALID [2022-04-15 12:06:43,587 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-15 12:06:43,588 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-15 12:06:43,588 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-15 12:06:43,589 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-15 12:06:43,589 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-15 12:06:43,590 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-15 12:06:43,590 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-15 12:06:43,591 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-15 12:06:43,592 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-15 12:06:43,593 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-15 12:06:43,594 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-15 12:06:43,595 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-15 12:06:43,595 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-15 12:06:43,596 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-15 12:06:43,598 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-15 12:06:43,599 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-15 12:06:43,599 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-15 12:06:43,600 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-15 12:06:43,600 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-15 12:06:43,601 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-15 12:06:43,601 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-15 12:06:43,601 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-15 12:06:43,602 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-15 12:06:43,602 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-15 12:06:43,602 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-15 12:06:43,603 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-15 12:06:43,603 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-15 12:06:43,603 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-15 12:06:43,604 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-15 12:06:43,604 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-15 12:06:43,605 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-15 12:06:43,605 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-15 12:06:43,606 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-15 12:06:43,606 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-15 12:06:43,607 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-15 12:06:43,607 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-15 12:06:43,608 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-15 12:06:43,608 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-15 12:06:43,609 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-15 12:06:43,610 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-15 12:06:43,610 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-15 12:06:43,611 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-15 12:06:43,611 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-15 12:06:43,612 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-15 12:06:43,612 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-15 12:06:43,614 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-15 12:06:43,615 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-15 12:06:43,615 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-15 12:06:43,616 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-15 12:06:43,617 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-15 12:06:43,617 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-15 12:06:43,618 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-15 12:06:43,618 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-15 12:06:43,619 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-15 12:06:43,619 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-15 12:06:43,621 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-15 12:06:43,622 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-15 12:06:43,622 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-15 12:06:43,623 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-15 12:06:43,623 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-15 12:06:43,624 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-15 12:06:43,625 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-15 12:06:43,626 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-15 12:06:43,627 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-15 12:06:43,627 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-15 12:06:43,628 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-15 12:06:43,630 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-15 12:06:43,630 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-15 12:06:43,631 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-15 12:06:43,631 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-15 12:06:43,633 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-15 12:06:43,634 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-15 12:06:43,634 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-15 12:06:43,636 INFO 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 VALID [2022-04-15 12:06:43,636 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-15 12:06:43,637 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-15 12:06:43,638 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-15 12:06:43,638 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-15 12:06:43,639 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-15 12:06:43,640 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-15 12:06:43,641 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-15 12:06:43,642 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-15 12:06:43,643 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-15 12:06:43,643 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-15 12:06:43,646 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-15 12:06:43,647 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-15 12:06:43,648 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-15 12:06:43,648 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-15 12:06:43,649 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-15 12:06:43,650 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-15 12:06:43,653 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-15 12:06:43,654 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-15 12:06:43,655 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-15 12:06:43,656 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-15 12:06:43,657 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-15 12:06:43,657 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-15 12:06:43,658 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-15 12:06:43,659 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-15 12:06:43,660 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-15 12:06:43,671 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-15 12:06:43,684 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-15 12:06:43,685 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-15 12:06:43,686 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-15 12:06:43,686 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-15 12:06:43,687 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-15 12:06:43,688 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-15 12:06:43,688 INFO L290 TraceCheckUtils]: 107: Hoare triple {59853#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {59857#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:06:43,688 INFO L290 TraceCheckUtils]: 108: Hoare triple {59857#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {59417#false} is VALID [2022-04-15 12:06:43,689 INFO L290 TraceCheckUtils]: 109: Hoare triple {59417#false} assume !false; {59417#false} is VALID [2022-04-15 12:06:43,689 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-15 12:06:43,689 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:06:44,086 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-15 12:06:44,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1106480899] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:06:44,087 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:06:44,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 24] total 45 [2022-04-15 12:06:44,088 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:06:44,088 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [998743907] [2022-04-15 12:06:44,088 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [998743907] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:06:44,088 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:06:44,088 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-15 12:06:44,088 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [536958842] [2022-04-15 12:06:44,088 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:06:44,088 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-15 12:06:44,089 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:06:44,089 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-15 12:06:44,175 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-15 12:06:44,175 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-15 12:06:44,175 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:06:44,176 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-15 12:06:44,176 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=168, Invalid=2474, Unknown=14, NotChecked=100, Total=2756 [2022-04-15 12:06:44,176 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-15 12:06:56,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:06:56,147 INFO L93 Difference]: Finished difference Result 1560 states and 2143 transitions. [2022-04-15 12:06:56,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2022-04-15 12:06:56,147 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-15 12:06:56,147 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:06:56,147 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-15 12:06:56,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2022-04-15 12:06:56,148 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-15 12:06:56,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 87 transitions. [2022-04-15 12:06:56,149 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 23 states and 87 transitions. [2022-04-15 12:06:56,235 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-15 12:06:56,264 INFO L225 Difference]: With dead ends: 1560 [2022-04-15 12:06:56,264 INFO L226 Difference]: Without dead ends: 803 [2022-04-15 12:06:56,272 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 123 SyntacticMatches, 13 SemanticMatches, 70 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1524 ImplicationChecksByTransitivity, 5.7s TimeCoverageRelationStatistics Valid=383, Invalid=4546, Unknown=45, NotChecked=138, Total=5112 [2022-04-15 12:06:56,273 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 82 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 654 mSolverCounterSat, 75 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-15 12:06:56,273 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [83 Valid, 22 Invalid, 729 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [75 Valid, 654 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 12:06:56,276 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 803 states. [2022-04-15 12:07:05,327 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 803 to 799. [2022-04-15 12:07:05,327 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:07:05,328 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-15 12:07:05,329 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-15 12:07:05,329 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-15 12:07:05,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:07:05,352 INFO L93 Difference]: Finished difference Result 803 states and 1097 transitions. [2022-04-15 12:07:05,352 INFO L276 IsEmpty]: Start isEmpty. Operand 803 states and 1097 transitions. [2022-04-15 12:07:05,353 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:07:05,353 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:07:05,354 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-15 12:07:05,355 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-15 12:07:05,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:07:05,373 INFO L93 Difference]: Finished difference Result 803 states and 1097 transitions. [2022-04-15 12:07:05,373 INFO L276 IsEmpty]: Start isEmpty. Operand 803 states and 1097 transitions. [2022-04-15 12:07:05,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:07:05,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:07:05,374 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:07:05,374 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:07:05,375 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-15 12:07:05,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 799 states to 799 states and 1093 transitions. [2022-04-15 12:07:05,399 INFO L78 Accepts]: Start accepts. Automaton has 799 states and 1093 transitions. Word has length 110 [2022-04-15 12:07:05,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:07:05,399 INFO L478 AbstractCegarLoop]: Abstraction has 799 states and 1093 transitions. [2022-04-15 12:07:05,399 INFO L479 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-15 12:07:05,400 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 799 states and 1093 transitions. [2022-04-15 12:07:11,220 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-15 12:07:11,221 INFO L276 IsEmpty]: Start isEmpty. Operand 799 states and 1093 transitions. [2022-04-15 12:07:11,222 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 12:07:11,222 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:07:11,223 INFO L499 BasicCegarLoop]: 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-15 12:07:11,240 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-15 12:07:11,423 WARN L460 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-15 12:07:11,423 INFO L403 AbstractCegarLoop]: === Iteration 34 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:07:11,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:07:11,424 INFO L85 PathProgramCache]: Analyzing trace with hash -1022226188, now seen corresponding path program 17 times [2022-04-15 12:07:11,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:07:11,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [142547382] [2022-04-15 12:07:11,426 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:07:11,426 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:07:11,426 INFO L85 PathProgramCache]: Analyzing trace with hash -1022226188, now seen corresponding path program 18 times [2022-04-15 12:07:11,426 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:07:11,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1965021307] [2022-04-15 12:07:11,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:07:11,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:07:11,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:07:11,506 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:07:11,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:07:11,514 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-15 12:07:11,514 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-15 12:07:11,515 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-15 12:07:11,518 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:07:11,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:07:11,997 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-15 12:07:11,997 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-15 12:07:11,998 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-15 12:07:11,998 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-15 12:07:11,999 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-15 12:07:12,000 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-15 12:07:12,000 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-15 12:07:12,001 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-15 12:07:12,002 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-15 12:07:12,002 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-15 12:07:12,003 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-15 12:07:12,003 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-15 12:07:12,004 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-15 12:07:12,004 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-15 12:07:12,005 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-15 12:07:12,006 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-15 12:07:12,007 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-15 12:07:12,007 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-15 12:07:12,008 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-15 12:07:12,008 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-15 12:07:12,009 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-15 12:07:12,010 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-15 12:07:12,010 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-15 12:07:12,010 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-15 12:07:12,010 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-15 12:07:12,010 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-15 12:07:12,010 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-15 12:07:12,010 INFO L290 TraceCheckUtils]: 27: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:12,010 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-15 12:07:12,010 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-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 INFO L290 TraceCheckUtils]: 37: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 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-15 12:07:12,011 INFO L290 TraceCheckUtils]: 44: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:12,012 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-15 12:07:12,012 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-15 12:07:12,012 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-15 12:07:12,012 INFO L290 TraceCheckUtils]: 48: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:12,012 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-15 12:07:12,012 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-15 12:07:12,012 INFO L290 TraceCheckUtils]: 51: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:12,012 INFO L290 TraceCheckUtils]: 52: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 12:07:12,012 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-15 12:07:12,012 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:07:12,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:07:12,015 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:12,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:12,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:12,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:12,016 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:07:12,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:07:12,025 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:12,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:12,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:12,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:12,025 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:07:12,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:07:12,028 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:12,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:12,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:12,028 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:12,028 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 12:07:12,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:07:12,030 INFO L290 TraceCheckUtils]: 0: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:12,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:12,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:12,030 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:12,031 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-15 12:07:12,031 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-15 12:07:12,032 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-15 12:07:12,032 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-15 12:07:12,032 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-15 12:07:12,033 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-15 12:07:12,033 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-15 12:07:12,033 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-15 12:07:12,034 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-15 12:07:12,034 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-15 12:07:12,035 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-15 12:07:12,035 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-15 12:07:12,035 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-15 12:07:12,036 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-15 12:07:12,036 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-15 12:07:12,036 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-15 12:07:12,038 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-15 12:07:12,038 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-15 12:07:12,038 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-15 12:07:12,039 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-15 12:07:12,039 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-15 12:07:12,040 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-15 12:07:12,041 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-15 12:07:12,041 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-15 12:07:12,042 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-15 12:07:12,043 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-15 12:07:12,043 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-15 12:07:12,044 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-15 12:07:12,044 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-15 12:07:12,045 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-15 12:07:12,045 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-15 12:07:12,046 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-15 12:07:12,046 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-15 12:07:12,047 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-15 12:07:12,048 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-15 12:07:12,049 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-15 12:07:12,049 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-15 12:07:12,050 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-15 12:07:12,050 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-15 12:07:12,051 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-15 12:07:12,051 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-15 12:07:12,051 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-15 12:07:12,051 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-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,052 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,052 INFO L290 TraceCheckUtils]: 55: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,052 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-15 12:07:12,053 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-15 12:07:12,053 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-15 12:07:12,053 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-15 12:07:12,053 INFO L290 TraceCheckUtils]: 62: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:12,053 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-15 12:07:12,053 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-15 12:07:12,053 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-15 12:07:12,053 INFO L290 TraceCheckUtils]: 66: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:12,053 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-15 12:07:12,053 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-15 12:07:12,053 INFO L290 TraceCheckUtils]: 69: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:12,053 INFO L290 TraceCheckUtils]: 70: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 12:07:12,053 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-15 12:07:12,053 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-15 12:07:12,054 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-15 12:07:12,054 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-15 12:07:12,054 INFO L290 TraceCheckUtils]: 75: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:12,054 INFO L290 TraceCheckUtils]: 76: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:12,054 INFO L290 TraceCheckUtils]: 77: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:12,054 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:12,054 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:12,054 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-15 12:07:12,054 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-15 12:07:12,054 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-15 12:07:12,054 INFO L290 TraceCheckUtils]: 83: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:12,054 INFO L290 TraceCheckUtils]: 84: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:12,054 INFO L290 TraceCheckUtils]: 85: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:12,054 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:12,054 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:12,055 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-15 12:07:12,055 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-15 12:07:12,055 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-15 12:07:12,055 INFO L290 TraceCheckUtils]: 91: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:12,055 INFO L290 TraceCheckUtils]: 92: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:12,055 INFO L290 TraceCheckUtils]: 93: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:12,055 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:12,055 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:12,055 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-15 12:07:12,055 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-15 12:07:12,055 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-15 12:07:12,055 INFO L290 TraceCheckUtils]: 99: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:12,055 INFO L290 TraceCheckUtils]: 100: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:12,055 INFO L290 TraceCheckUtils]: 101: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:12,055 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:12,056 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:12,056 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-15 12:07:12,056 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-15 12:07:12,056 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-15 12:07:12,056 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 12:07:12,056 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-15 12:07:12,056 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-15 12:07:12,056 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-15 12:07:12,056 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:07:12,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1965021307] [2022-04-15 12:07:12,057 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1965021307] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:07:12,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1172022755] [2022-04-15 12:07:12,057 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:07:12,057 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:07:12,057 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:07:12,058 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-15 12:07:12,059 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-15 12:07:12,268 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 8 check-sat command(s) [2022-04-15 12:07:12,268 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:07:12,270 INFO L263 TraceCheckSpWp]: Trace formula consists of 278 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-15 12:07:12,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:07:12,305 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:07:13,175 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:07:13,176 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:07:13,177 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:07:13,180 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-15 12:07:13,180 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-15 12:07:14,103 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:07:14,104 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-15 12:07:14,105 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:07:14,106 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-15 12:07:14,109 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-15 12:07:14,109 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-15 12:07:14,300 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66351#true} is VALID [2022-04-15 12:07:14,300 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-15 12:07:14,301 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-15 12:07:14,301 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-15 12:07:14,302 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-15 12:07:14,302 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-15 12:07:14,302 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-15 12:07:14,303 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-15 12:07:14,303 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-15 12:07:14,303 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-15 12:07:14,304 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-15 12:07:14,304 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-15 12:07:14,305 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-15 12:07:14,305 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-15 12:07:14,305 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-15 12:07:14,306 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-15 12:07:14,306 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-15 12:07:14,306 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-15 12:07:14,307 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-15 12:07:14,307 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-15 12:07:14,308 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-15 12:07:14,309 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-15 12:07:14,309 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-15 12:07:14,309 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-15 12:07:14,310 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-15 12:07:14,310 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-15 12:07:14,311 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-15 12:07:14,311 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-15 12:07:14,312 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-15 12:07:14,312 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-15 12:07:14,313 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-15 12:07:14,314 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-15 12:07:14,314 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-15 12:07:14,316 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-15 12:07:14,317 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-15 12:07:14,318 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-15 12:07:14,319 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-15 12:07:14,320 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-15 12:07:14,321 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-15 12:07:14,322 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-15 12:07:14,322 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-15 12:07:14,322 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-15 12:07:14,322 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-15 12:07:14,322 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-15 12:07:14,322 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-15 12:07:14,323 INFO L290 TraceCheckUtils]: 45: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,323 INFO L290 TraceCheckUtils]: 55: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,323 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-15 12:07:14,324 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-15 12:07:14,324 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-15 12:07:14,324 INFO L290 TraceCheckUtils]: 62: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:14,324 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-15 12:07:14,324 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-15 12:07:14,324 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-15 12:07:14,324 INFO L290 TraceCheckUtils]: 66: Hoare triple {66352#false} assume !(~i~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:14,324 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-15 12:07:14,324 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-15 12:07:14,324 INFO L290 TraceCheckUtils]: 69: Hoare triple {66352#false} assume !(~lh~0 < ~n~0); {66352#false} is VALID [2022-04-15 12:07:14,324 INFO L290 TraceCheckUtils]: 70: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 12:07:14,324 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-15 12:07:14,324 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-15 12:07:14,324 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-15 12:07:14,325 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-15 12:07:14,325 INFO L290 TraceCheckUtils]: 75: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 12:07:14,325 INFO L290 TraceCheckUtils]: 76: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-15 12:07:14,325 INFO L290 TraceCheckUtils]: 77: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 12:07:14,325 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:14,325 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:14,325 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-15 12:07:14,325 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-15 12:07:14,325 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-15 12:07:14,325 INFO L290 TraceCheckUtils]: 83: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 12:07:14,325 INFO L290 TraceCheckUtils]: 84: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-15 12:07:14,325 INFO L290 TraceCheckUtils]: 85: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 12:07:14,325 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:14,325 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:14,325 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-15 12:07:14,326 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-15 12:07:14,326 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-15 12:07:14,326 INFO L290 TraceCheckUtils]: 91: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 12:07:14,326 INFO L290 TraceCheckUtils]: 92: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-15 12:07:14,326 INFO L290 TraceCheckUtils]: 93: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 12:07:14,326 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:14,326 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:14,326 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-15 12:07:14,326 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-15 12:07:14,326 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-15 12:07:14,326 INFO L290 TraceCheckUtils]: 99: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 12:07:14,326 INFO L290 TraceCheckUtils]: 100: Hoare triple {66352#false} assume !(0 == ~cond); {66352#false} is VALID [2022-04-15 12:07:14,326 INFO L290 TraceCheckUtils]: 101: Hoare triple {66352#false} assume true; {66352#false} is VALID [2022-04-15 12:07:14,326 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66352#false} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:14,327 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:14,327 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-15 12:07:14,327 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-15 12:07:14,327 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-15 12:07:14,327 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 12:07:14,327 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-15 12:07:14,327 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-15 12:07:14,327 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-15 12:07:14,327 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:07:15,983 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-15 12:07:16,097 INFO L356 Elim1Store]: treesize reduction 66, result has 1.5 percent of original size [2022-04-15 12:07:16,097 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-15 12:07:34,075 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-15 12:07:34,260 INFO L356 Elim1Store]: treesize reduction 140, result has 45.3 percent of original size [2022-04-15 12:07:34,260 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-15 12:07:40,439 INFO L290 TraceCheckUtils]: 109: Hoare triple {66352#false} assume !false; {66352#false} is VALID [2022-04-15 12:07:40,439 INFO L290 TraceCheckUtils]: 108: Hoare triple {66352#false} assume 0 == ~cond; {66352#false} is VALID [2022-04-15 12:07:40,439 INFO L290 TraceCheckUtils]: 107: Hoare triple {66352#false} ~cond := #in~cond; {66352#false} is VALID [2022-04-15 12:07:40,440 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-15 12:07:40,440 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-15 12:07:40,440 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-15 12:07:40,440 INFO L290 TraceCheckUtils]: 103: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:40,440 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:40,440 INFO L290 TraceCheckUtils]: 101: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:40,440 INFO L290 TraceCheckUtils]: 100: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:40,440 INFO L290 TraceCheckUtils]: 99: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:40,440 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-15 12:07:40,440 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-15 12:07:40,440 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-15 12:07:40,440 INFO L290 TraceCheckUtils]: 95: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:40,440 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:40,440 INFO L290 TraceCheckUtils]: 93: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:40,440 INFO L290 TraceCheckUtils]: 92: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:40,441 INFO L290 TraceCheckUtils]: 91: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:40,441 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-15 12:07:40,441 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-15 12:07:40,441 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-15 12:07:40,441 INFO L290 TraceCheckUtils]: 87: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:40,441 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:40,441 INFO L290 TraceCheckUtils]: 85: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:40,441 INFO L290 TraceCheckUtils]: 84: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:40,441 INFO L290 TraceCheckUtils]: 83: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:40,441 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-15 12:07:40,441 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-15 12:07:40,441 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-15 12:07:40,441 INFO L290 TraceCheckUtils]: 79: Hoare triple {66352#false} havoc #t~mem9; {66352#false} is VALID [2022-04-15 12:07:40,441 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {66351#true} {66352#false} #93#return; {66352#false} is VALID [2022-04-15 12:07:40,441 INFO L290 TraceCheckUtils]: 77: Hoare triple {66351#true} assume true; {66351#true} is VALID [2022-04-15 12:07:40,442 INFO L290 TraceCheckUtils]: 76: Hoare triple {66351#true} assume !(0 == ~cond); {66351#true} is VALID [2022-04-15 12:07:40,442 INFO L290 TraceCheckUtils]: 75: Hoare triple {66351#true} ~cond := #in~cond; {66351#true} is VALID [2022-04-15 12:07:40,442 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-15 12:07:40,442 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-15 12:07:40,442 INFO L290 TraceCheckUtils]: 72: Hoare triple {66352#false} ~i~1 := 0; {66352#false} is VALID [2022-04-15 12:07:40,442 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-15 12:07:40,443 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-15 12:07:40,443 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-15 12:07:40,443 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-15 12:07:40,444 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-15 12:07:40,444 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-15 12:07:40,444 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-15 12:07:40,445 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-15 12:07:40,445 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-15 12:07:40,459 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-15 12:07:40,464 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-15 12:07:40,464 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-15 12:07:40,465 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-15 12:07:40,465 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-15 12:07:40,466 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-15 12:07:40,466 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-15 12:07:40,466 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-15 12:07:40,467 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-15 12:07:40,467 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-15 12:07:40,467 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-15 12:07:40,468 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-15 12:07:40,468 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-15 12:07:40,468 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-15 12:07:40,469 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-15 12:07:40,469 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-15 12:07:40,470 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-15 12:07:40,470 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-15 12:07:40,470 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-15 12:07:40,471 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-15 12:07:40,471 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-15 12:07:40,472 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-15 12:07:40,472 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-15 12:07:40,473 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-15 12:07:40,473 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-15 12:07:40,474 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-15 12:07:40,475 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-15 12:07:40,476 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-15 12:07:40,477 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-15 12:07:40,478 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-15 12:07:40,479 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-15 12:07:40,480 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-15 12:07:40,481 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-15 12:07:40,481 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-15 12:07:40,482 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-15 12:07:40,484 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-15 12:07:40,485 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-15 12:07:40,486 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-15 12:07:40,486 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-15 12:07:40,487 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-15 12:07:40,488 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-15 12:07:40,489 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-15 12:07:40,494 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-15 12:07:40,495 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-15 12:07:40,495 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-15 12:07:40,495 INFO L272 TraceCheckUtils]: 17: Hoare triple {66907#(and (<= 4 ~n~0) (<= ~n~0 5))} call SelectionSort(); {66351#true} is VALID [2022-04-15 12:07:40,496 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-15 12:07:40,496 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-15 12:07:40,496 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-15 12:07:40,497 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-15 12:07:40,497 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-15 12:07:40,497 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-15 12:07:40,498 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-15 12:07:40,498 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-15 12:07:40,498 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-15 12:07:40,499 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-15 12:07:40,499 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-15 12:07:40,500 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-15 12:07:40,500 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-15 12:07:40,500 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-15 12:07:40,500 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-15 12:07:40,501 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-15 12:07:40,501 INFO L272 TraceCheckUtils]: 0: Hoare triple {66351#true} call ULTIMATE.init(); {66351#true} is VALID [2022-04-15 12:07:40,502 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-15 12:07:40,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1172022755] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:07:40,502 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:07:40,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 20, 20] total 57 [2022-04-15 12:07:40,502 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:07:40,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [142547382] [2022-04-15 12:07:40,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [142547382] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:07:40,502 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:07:40,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-15 12:07:40,503 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1720123258] [2022-04-15 12:07:40,503 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:07:40,503 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-15 12:07:40,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:07:40,504 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-15 12:07:40,541 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-15 12:07:40,542 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-15 12:07:40,542 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:07:40,542 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-15 12:07:40,542 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=333, Invalid=2847, Unknown=12, NotChecked=0, Total=3192 [2022-04-15 12:07:40,542 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-15 12:07:58,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:07:58,803 INFO L93 Difference]: Finished difference Result 1903 states and 2629 transitions. [2022-04-15 12:07:58,803 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2022-04-15 12:07:58,804 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-15 12:07:58,804 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:07:58,804 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-15 12:07:58,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 152 transitions. [2022-04-15 12:07:58,805 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-15 12:07:58,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 152 transitions. [2022-04-15 12:07:58,806 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 152 transitions. [2022-04-15 12:07:58,957 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-15 12:07:59,013 INFO L225 Difference]: With dead ends: 1903 [2022-04-15 12:07:59,013 INFO L226 Difference]: Without dead ends: 1228 [2022-04-15 12:07:59,015 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 283 GetRequests, 196 SyntacticMatches, 0 SemanticMatches, 87 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1836 ImplicationChecksByTransitivity, 15.4s TimeCoverageRelationStatistics Valid=720, Invalid=7100, Unknown=12, NotChecked=0, Total=7832 [2022-04-15 12:07:59,015 INFO L913 BasicCegarLoop]: 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-15 12:07:59,015 INFO L914 BasicCegarLoop]: 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-15 12:07:59,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1228 states. [2022-04-15 12:08:09,067 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1228 to 927. [2022-04-15 12:08:09,067 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:08:09,068 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-15 12:08:09,069 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-15 12:08:09,069 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-15 12:08:09,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:08:09,106 INFO L93 Difference]: Finished difference Result 1228 states and 1679 transitions. [2022-04-15 12:08:09,106 INFO L276 IsEmpty]: Start isEmpty. Operand 1228 states and 1679 transitions. [2022-04-15 12:08:09,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:08:09,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:08:09,108 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-15 12:08:09,108 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-15 12:08:09,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:08:09,145 INFO L93 Difference]: Finished difference Result 1228 states and 1679 transitions. [2022-04-15 12:08:09,145 INFO L276 IsEmpty]: Start isEmpty. Operand 1228 states and 1679 transitions. [2022-04-15 12:08:09,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:08:09,146 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:08:09,146 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:08:09,146 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:08:09,147 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-15 12:08:09,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 927 states to 927 states and 1261 transitions. [2022-04-15 12:08:09,180 INFO L78 Accepts]: Start accepts. Automaton has 927 states and 1261 transitions. Word has length 110 [2022-04-15 12:08:09,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:08:09,180 INFO L478 AbstractCegarLoop]: Abstraction has 927 states and 1261 transitions. [2022-04-15 12:08:09,180 INFO L479 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-15 12:08:09,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 927 states and 1261 transitions. [2022-04-15 12:08:15,087 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-15 12:08:15,087 INFO L276 IsEmpty]: Start isEmpty. Operand 927 states and 1261 transitions. [2022-04-15 12:08:15,089 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 12:08:15,089 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:08:15,089 INFO L499 BasicCegarLoop]: 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-15 12:08:15,106 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-15 12:08:15,289 WARN L460 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-15 12:08:15,289 INFO L403 AbstractCegarLoop]: === Iteration 35 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:08:15,290 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:08:15,290 INFO L85 PathProgramCache]: Analyzing trace with hash -1666738186, now seen corresponding path program 19 times [2022-04-15 12:08:15,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:08:15,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [79480263] [2022-04-15 12:08:15,292 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:08:15,292 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:08:15,292 INFO L85 PathProgramCache]: Analyzing trace with hash -1666738186, now seen corresponding path program 20 times [2022-04-15 12:08:15,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:08:15,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1710417580] [2022-04-15 12:08:15,292 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:08:15,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:08:15,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:15,356 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:08:15,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:15,363 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-15 12:08:15,363 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-15 12:08:15,364 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-15 12:08:15,367 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:08:15,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:15,674 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-15 12:08:15,677 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-15 12:08:15,678 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-15 12:08:15,678 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-15 12:08:15,679 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-15 12:08:15,679 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-15 12:08:15,680 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-15 12:08:15,681 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-15 12:08:15,681 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-15 12:08:15,682 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-15 12:08:15,682 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-15 12:08:15,683 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-15 12:08:15,683 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-15 12:08:15,684 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-15 12:08:15,684 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-15 12:08:15,685 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-15 12:08:15,686 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-15 12:08:15,687 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-15 12:08:15,687 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-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,688 INFO L290 TraceCheckUtils]: 27: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,688 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-15 12:08:15,689 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-15 12:08:15,689 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-15 12:08:15,689 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-15 12:08:15,689 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-15 12:08:15,689 INFO L290 TraceCheckUtils]: 37: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 12:08:15,689 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-15 12:08:15,689 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-15 12:08:15,689 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-15 12:08:15,689 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-15 12:08:15,689 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-15 12:08:15,689 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-15 12:08:15,689 INFO L290 TraceCheckUtils]: 44: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 12:08:15,689 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-15 12:08:15,689 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-15 12:08:15,690 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-15 12:08:15,690 INFO L290 TraceCheckUtils]: 48: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 12:08:15,690 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-15 12:08:15,690 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-15 12:08:15,690 INFO L290 TraceCheckUtils]: 51: Hoare triple {75322#false} assume !(~lh~0 < ~n~0); {75322#false} is VALID [2022-04-15 12:08:15,690 INFO L290 TraceCheckUtils]: 52: Hoare triple {75322#false} assume true; {75322#false} is VALID [2022-04-15 12:08:15,690 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-15 12:08:15,690 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:08:15,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:15,693 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 12:08:15,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 12:08:15,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 12:08:15,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 12:08:15,693 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:08:15,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:15,695 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 12:08:15,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 12:08:15,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 12:08:15,695 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 12:08:15,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:08:15,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:15,697 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 12:08:15,697 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 12:08:15,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 12:08:15,697 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 12:08:15,697 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 12:08:15,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:15,698 INFO L290 TraceCheckUtils]: 0: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 12:08:15,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 12:08:15,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 12:08:15,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 12:08:15,699 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-15 12:08:15,700 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-15 12:08:15,700 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-15 12:08:15,701 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-15 12:08:15,701 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-15 12:08:15,701 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-15 12:08:15,702 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-15 12:08:15,702 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-15 12:08:15,702 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-15 12:08:15,703 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-15 12:08:15,703 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-15 12:08:15,703 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-15 12:08:15,704 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-15 12:08:15,704 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-15 12:08:15,705 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-15 12:08:15,705 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-15 12:08:15,705 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-15 12:08:15,706 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-15 12:08:15,706 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-15 12:08:15,706 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-15 12:08:15,707 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-15 12:08:15,707 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-15 12:08:15,708 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-15 12:08:15,708 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-15 12:08:15,709 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-15 12:08:15,709 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-15 12:08:15,710 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-15 12:08:15,711 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-15 12:08:15,711 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-15 12:08:15,712 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-15 12:08:15,712 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-15 12:08:15,713 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-15 12:08:15,713 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-15 12:08:15,714 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-15 12:08:15,715 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-15 12:08:15,716 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-15 12:08:15,716 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-15 12:08:15,716 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-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,717 INFO L290 TraceCheckUtils]: 45: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,717 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-15 12:08:15,718 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-15 12:08:15,718 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-15 12:08:15,718 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-15 12:08:15,718 INFO L290 TraceCheckUtils]: 55: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 12:08:15,718 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-15 12:08:15,718 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-15 12:08:15,718 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-15 12:08:15,718 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-15 12:08:15,718 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-15 12:08:15,718 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-15 12:08:15,718 INFO L290 TraceCheckUtils]: 62: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 12:08:15,718 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-15 12:08:15,718 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-15 12:08:15,718 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-15 12:08:15,718 INFO L290 TraceCheckUtils]: 66: Hoare triple {75322#false} assume !(~i~0 < ~n~0); {75322#false} is VALID [2022-04-15 12:08:15,718 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-15 12:08:15,719 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-15 12:08:15,719 INFO L290 TraceCheckUtils]: 69: Hoare triple {75322#false} assume !(~lh~0 < ~n~0); {75322#false} is VALID [2022-04-15 12:08:15,719 INFO L290 TraceCheckUtils]: 70: Hoare triple {75322#false} assume true; {75322#false} is VALID [2022-04-15 12:08:15,719 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-15 12:08:15,719 INFO L290 TraceCheckUtils]: 72: Hoare triple {75322#false} ~i~1 := 0; {75322#false} is VALID [2022-04-15 12:08:15,719 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-15 12:08:15,719 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-15 12:08:15,719 INFO L290 TraceCheckUtils]: 75: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 12:08:15,719 INFO L290 TraceCheckUtils]: 76: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 12:08:15,719 INFO L290 TraceCheckUtils]: 77: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 12:08:15,719 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 12:08:15,719 INFO L290 TraceCheckUtils]: 79: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-15 12:08:15,719 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-15 12:08:15,719 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-15 12:08:15,720 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-15 12:08:15,720 INFO L290 TraceCheckUtils]: 83: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 12:08:15,720 INFO L290 TraceCheckUtils]: 84: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 12:08:15,720 INFO L290 TraceCheckUtils]: 85: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 12:08:15,720 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 12:08:15,720 INFO L290 TraceCheckUtils]: 87: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-15 12:08:15,720 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-15 12:08:15,720 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-15 12:08:15,720 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-15 12:08:15,720 INFO L290 TraceCheckUtils]: 91: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 12:08:15,720 INFO L290 TraceCheckUtils]: 92: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 12:08:15,720 INFO L290 TraceCheckUtils]: 93: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 12:08:15,720 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 12:08:15,720 INFO L290 TraceCheckUtils]: 95: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-15 12:08:15,720 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-15 12:08:15,721 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-15 12:08:15,721 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-15 12:08:15,721 INFO L290 TraceCheckUtils]: 99: Hoare triple {75321#true} ~cond := #in~cond; {75321#true} is VALID [2022-04-15 12:08:15,721 INFO L290 TraceCheckUtils]: 100: Hoare triple {75321#true} assume !(0 == ~cond); {75321#true} is VALID [2022-04-15 12:08:15,721 INFO L290 TraceCheckUtils]: 101: Hoare triple {75321#true} assume true; {75321#true} is VALID [2022-04-15 12:08:15,721 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {75321#true} {75322#false} #93#return; {75322#false} is VALID [2022-04-15 12:08:15,721 INFO L290 TraceCheckUtils]: 103: Hoare triple {75322#false} havoc #t~mem9; {75322#false} is VALID [2022-04-15 12:08:15,721 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-15 12:08:15,721 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-15 12:08:15,721 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-15 12:08:15,721 INFO L290 TraceCheckUtils]: 107: Hoare triple {75322#false} ~cond := #in~cond; {75322#false} is VALID [2022-04-15 12:08:15,721 INFO L290 TraceCheckUtils]: 108: Hoare triple {75322#false} assume 0 == ~cond; {75322#false} is VALID [2022-04-15 12:08:15,721 INFO L290 TraceCheckUtils]: 109: Hoare triple {75322#false} assume !false; {75322#false} is VALID [2022-04-15 12:08:15,722 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-15 12:08:15,722 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:08:15,722 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1710417580] [2022-04-15 12:08:15,722 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1710417580] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:08:15,722 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1368479571] [2022-04-15 12:08:15,722 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:08:15,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:08:15,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:08:15,723 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-15 12:08:15,724 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-15 12:08:15,881 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:08:15,882 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:08:15,884 INFO L263 TraceCheckSpWp]: Trace formula consists of 375 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-15 12:08:15,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:15,905 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:08:15,964 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 12:08:15,965 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-15 12:08:15,998 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-15 12:08:16,073 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:08:16,073 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-15 12:08:16,142 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:08:16,142 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-15 12:08:16,207 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:08:16,207 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-15 12:08:16,285 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:08:16,285 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-15 12:08:16,812 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-15 12:08:18,048 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 12:08:18,049 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-15 12:08:18,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {75321#true} call ULTIMATE.init(); {75321#true} is VALID [2022-04-15 12:08:18,130 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-15 12:08:18,130 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-15 12:08:18,131 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-15 12:08:18,131 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-15 12:08:18,132 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-15 12:08:18,132 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-15 12:08:18,133 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-15 12:08:18,133 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-15 12:08:18,134 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-15 12:08:18,134 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-15 12:08:18,135 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-15 12:08:18,135 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-15 12:08:18,136 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-15 12:08:18,136 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-15 12:08:18,137 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-15 12:08:18,137 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-15 12:08:18,137 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-15 12:08:18,138 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-15 12:08:18,138 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-15 12:08:18,139 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-15 12:08:18,139 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-15 12:08:18,139 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-15 12:08:18,140 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-15 12:08:18,140 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-15 12:08:18,140 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-15 12:08:18,141 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-15 12:08:18,141 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-15 12:08:18,141 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-15 12:08:18,142 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-15 12:08:18,142 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-15 12:08:18,142 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-15 12:08:18,143 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-15 12:08:18,143 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-15 12:08:18,144 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-15 12:08:18,144 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-15 12:08:18,145 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-15 12:08:18,145 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-15 12:08:18,146 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-15 12:08:18,146 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-15 12:08:18,147 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-15 12:08:18,147 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-15 12:08:18,148 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-15 12:08:18,148 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-15 12:08:18,149 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-15 12:08:18,149 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-15 12:08:18,151 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-15 12:08:18,151 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-15 12:08:18,152 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-15 12:08:18,152 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-15 12:08:18,153 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-15 12:08:18,153 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-15 12:08:18,154 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-15 12:08:18,154 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-15 12:08:18,155 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-15 12:08:18,155 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-15 12:08:18,157 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-15 12:08:18,157 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-15 12:08:18,158 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-15 12:08:18,158 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-15 12:08:18,159 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-15 12:08:18,159 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-15 12:08:18,160 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-15 12:08:18,161 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-15 12:08:18,162 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-15 12:08:18,162 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-15 12:08:18,163 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-15 12:08:18,164 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-15 12:08:18,164 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-15 12:08:18,165 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-15 12:08:18,165 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-15 12:08:18,166 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-15 12:08:18,166 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-15 12:08:18,167 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-15 12:08:18,168 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-15 12:08:18,168 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-15 12:08:18,168 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-15 12:08:18,168 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-15 12:08:18,169 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-15 12:08:18,169 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-15 12:08:18,170 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-15 12:08:18,170 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-15 12:08:18,171 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-15 12:08:18,171 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-15 12:08:18,171 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-15 12:08:18,172 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-15 12:08:18,172 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-15 12:08:18,173 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-15 12:08:18,173 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-15 12:08:18,173 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-15 12:08:18,174 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-15 12:08:18,174 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-15 12:08:18,175 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-15 12:08:18,175 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-15 12:08:18,175 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-15 12:08:18,176 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-15 12:08:18,176 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-15 12:08:18,177 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-15 12:08:18,177 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-15 12:08:18,178 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-15 12:08:18,178 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-15 12:08:18,178 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-15 12:08:18,179 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-15 12:08:18,179 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-15 12:08:18,180 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-15 12:08:18,180 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-15 12:08:18,180 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-15 12:08:18,181 INFO L290 TraceCheckUtils]: 107: Hoare triple {75749#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {75753#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:08:18,181 INFO L290 TraceCheckUtils]: 108: Hoare triple {75753#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {75322#false} is VALID [2022-04-15 12:08:18,181 INFO L290 TraceCheckUtils]: 109: Hoare triple {75322#false} assume !false; {75322#false} is VALID [2022-04-15 12:08:18,182 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-15 12:08:18,182 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:08:18,522 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-15 12:08:18,522 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1368479571] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:08:18,523 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:08:18,523 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 22] total 36 [2022-04-15 12:08:18,523 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:08:18,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [79480263] [2022-04-15 12:08:18,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [79480263] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:08:18,523 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:08:18,523 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 12:08:18,523 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1548332969] [2022-04-15 12:08:18,523 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:08:18,523 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-15 12:08:18,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:08:18,524 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-15 12:08:18,559 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-15 12:08:18,559 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 12:08:18,559 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:08:18,559 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 12:08:18,560 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=146, Invalid=1654, Unknown=10, NotChecked=82, Total=1892 [2022-04-15 12:08:18,560 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-15 12:08:38,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:08:38,317 INFO L93 Difference]: Finished difference Result 2266 states and 3111 transitions. [2022-04-15 12:08:38,317 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-15 12:08:38,317 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-15 12:08:38,317 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:08:38,317 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-15 12:08:38,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 135 transitions. [2022-04-15 12:08:38,319 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-15 12:08:38,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 135 transitions. [2022-04-15 12:08:38,319 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 135 transitions. [2022-04-15 12:08:38,459 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-15 12:08:38,556 INFO L225 Difference]: With dead ends: 2266 [2022-04-15 12:08:38,557 INFO L226 Difference]: Without dead ends: 1430 [2022-04-15 12:08:38,558 INFO L912 BasicCegarLoop]: 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-15 12:08:38,559 INFO L913 BasicCegarLoop]: 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-15 12:08:38,559 INFO L914 BasicCegarLoop]: 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-15 12:08:38,559 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1430 states. [2022-04-15 12:08:50,664 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1430 to 1016. [2022-04-15 12:08:50,664 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:08:50,666 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-15 12:08:50,666 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-15 12:08:50,667 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-15 12:08:50,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:08:50,715 INFO L93 Difference]: Finished difference Result 1430 states and 1934 transitions. [2022-04-15 12:08:50,715 INFO L276 IsEmpty]: Start isEmpty. Operand 1430 states and 1934 transitions. [2022-04-15 12:08:50,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:08:50,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:08:50,717 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-15 12:08:50,718 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-15 12:08:50,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:08:50,767 INFO L93 Difference]: Finished difference Result 1430 states and 1934 transitions. [2022-04-15 12:08:50,767 INFO L276 IsEmpty]: Start isEmpty. Operand 1430 states and 1934 transitions. [2022-04-15 12:08:50,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:08:50,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:08:50,768 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:08:50,768 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:08:50,769 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-15 12:08:50,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1016 states to 1016 states and 1399 transitions. [2022-04-15 12:08:50,807 INFO L78 Accepts]: Start accepts. Automaton has 1016 states and 1399 transitions. Word has length 110 [2022-04-15 12:08:50,807 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:08:50,807 INFO L478 AbstractCegarLoop]: Abstraction has 1016 states and 1399 transitions. [2022-04-15 12:08:50,808 INFO L479 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-15 12:08:50,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 1016 states and 1399 transitions. [2022-04-15 12:08:58,596 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-15 12:08:58,597 INFO L276 IsEmpty]: Start isEmpty. Operand 1016 states and 1399 transitions. [2022-04-15 12:08:58,598 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 12:08:58,598 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:08:58,599 INFO L499 BasicCegarLoop]: 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-15 12:08:58,617 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (34)] Forceful destruction successful, exit code 0 [2022-04-15 12:08:58,799 WARN L460 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-15 12:08:58,799 INFO L403 AbstractCegarLoop]: === Iteration 36 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:08:58,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:08:58,800 INFO L85 PathProgramCache]: Analyzing trace with hash 1361698550, now seen corresponding path program 21 times [2022-04-15 12:08:58,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:08:58,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [158773266] [2022-04-15 12:08:58,802 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:08:58,802 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:08:58,802 INFO L85 PathProgramCache]: Analyzing trace with hash 1361698550, now seen corresponding path program 22 times [2022-04-15 12:08:58,802 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:08:58,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1960344622] [2022-04-15 12:08:58,802 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:08:58,802 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:08:58,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:58,875 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:08:58,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:58,883 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-15 12:08:58,883 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-15 12:08:58,884 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-15 12:08:58,887 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:08:58,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:59,319 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-15 12:08:59,319 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-15 12:08:59,320 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-15 12:08:59,320 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-15 12:08:59,321 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-15 12:08:59,322 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-15 12:08:59,322 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-15 12:08:59,323 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-15 12:08:59,324 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-15 12:08:59,324 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-15 12:08:59,325 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-15 12:08:59,325 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-15 12:08:59,326 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-15 12:08:59,326 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-15 12:08:59,327 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-15 12:08:59,328 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-15 12:08:59,329 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-15 12:08:59,329 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-15 12:08:59,330 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-15 12:08:59,330 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-15 12:08:59,331 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-15 12:08:59,331 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-15 12:08:59,332 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-15 12:08:59,332 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-15 12:08:59,332 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-15 12:08:59,332 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-15 12:08:59,332 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-15 12:08:59,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:08:59,332 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-15 12:08:59,332 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-15 12:08:59,332 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-15 12:08:59,333 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-15 12:08:59,333 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-15 12:08:59,333 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-15 12:08:59,333 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-15 12:08:59,333 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-15 12:08:59,333 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-15 12:08:59,333 INFO L290 TraceCheckUtils]: 37: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:08:59,333 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-15 12:08:59,333 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-15 12:08:59,333 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-15 12:08:59,333 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-15 12:08:59,333 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-15 12:08:59,333 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-15 12:08:59,333 INFO L290 TraceCheckUtils]: 44: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:08:59,333 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-15 12:08:59,334 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-15 12:08:59,334 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-15 12:08:59,334 INFO L290 TraceCheckUtils]: 48: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:08:59,334 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-15 12:08:59,334 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-15 12:08:59,334 INFO L290 TraceCheckUtils]: 51: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:08:59,334 INFO L290 TraceCheckUtils]: 52: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 12:08:59,334 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-15 12:08:59,334 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:08:59,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:59,337 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:08:59,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:08:59,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:08:59,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:08:59,337 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:08:59,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:59,339 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:08:59,339 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:08:59,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:08:59,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:08:59,340 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:08:59,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:59,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:08:59,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:08:59,342 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:08:59,342 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:08:59,342 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 12:08:59,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:59,344 INFO L290 TraceCheckUtils]: 0: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:08:59,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:08:59,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:08:59,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:08:59,345 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-15 12:08:59,346 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-15 12:08:59,346 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-15 12:08:59,346 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-15 12:08:59,347 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-15 12:08:59,347 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-15 12:08:59,348 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-15 12:08:59,348 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-15 12:08:59,348 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-15 12:08:59,349 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-15 12:08:59,349 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-15 12:08:59,349 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-15 12:08:59,350 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-15 12:08:59,350 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-15 12:08:59,350 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-15 12:08:59,351 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-15 12:08:59,351 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-15 12:08:59,352 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-15 12:08:59,352 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-15 12:08:59,352 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-15 12:08:59,353 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-15 12:08:59,353 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-15 12:08:59,354 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-15 12:08:59,355 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-15 12:08:59,355 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-15 12:08:59,356 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-15 12:08:59,356 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-15 12:08:59,357 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-15 12:08:59,358 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-15 12:08:59,359 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-15 12:08:59,360 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-15 12:08:59,360 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-15 12:08:59,361 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-15 12:08:59,362 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-15 12:08:59,363 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-15 12:08:59,364 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-15 12:08:59,365 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-15 12:08:59,365 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-15 12:08:59,366 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-15 12:08:59,366 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-15 12:08:59,367 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-15 12:08:59,367 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-15 12:08:59,367 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-15 12:08:59,367 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-15 12:08:59,367 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-15 12:08:59,367 INFO L290 TraceCheckUtils]: 45: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:08:59,367 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-15 12:08:59,367 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-15 12:08:59,367 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-15 12:08:59,367 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-15 12:08:59,367 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-15 12:08:59,367 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-15 12:08:59,368 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-15 12:08:59,368 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-15 12:08:59,368 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-15 12:08:59,368 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:08:59,368 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-15 12:08:59,368 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-15 12:08:59,368 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-15 12:08:59,368 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-15 12:08:59,368 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-15 12:08:59,368 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-15 12:08:59,368 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:08:59,368 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-15 12:08:59,368 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-15 12:08:59,368 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-15 12:08:59,368 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:08:59,369 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-15 12:08:59,369 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-15 12:08:59,369 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:08:59,369 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 12:08:59,369 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-15 12:08:59,369 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-15 12:08:59,369 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-15 12:08:59,369 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-15 12:08:59,369 INFO L290 TraceCheckUtils]: 75: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:08:59,369 INFO L290 TraceCheckUtils]: 76: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:08:59,369 INFO L290 TraceCheckUtils]: 77: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:08:59,369 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:08:59,369 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:08:59,369 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-15 12:08:59,369 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-15 12:08:59,370 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-15 12:08:59,370 INFO L290 TraceCheckUtils]: 83: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:08:59,370 INFO L290 TraceCheckUtils]: 84: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:08:59,370 INFO L290 TraceCheckUtils]: 85: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:08:59,370 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:08:59,370 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:08:59,370 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-15 12:08:59,370 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-15 12:08:59,370 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-15 12:08:59,370 INFO L290 TraceCheckUtils]: 91: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:08:59,370 INFO L290 TraceCheckUtils]: 92: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:08:59,370 INFO L290 TraceCheckUtils]: 93: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:08:59,370 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:08:59,370 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:08:59,370 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-15 12:08:59,371 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-15 12:08:59,371 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-15 12:08:59,371 INFO L290 TraceCheckUtils]: 99: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:08:59,371 INFO L290 TraceCheckUtils]: 100: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:08:59,371 INFO L290 TraceCheckUtils]: 101: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:08:59,371 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:08:59,371 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:08:59,371 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-15 12:08:59,371 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-15 12:08:59,371 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-15 12:08:59,371 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 12:08:59,371 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-15 12:08:59,371 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-15 12:08:59,372 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-15 12:08:59,372 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:08:59,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1960344622] [2022-04-15 12:08:59,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1960344622] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:08:59,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1336363366] [2022-04-15 12:08:59,372 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 12:08:59,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:08:59,373 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:08:59,373 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-15 12:08:59,374 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-15 12:08:59,526 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 12:08:59,526 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:08:59,528 INFO L263 TraceCheckSpWp]: Trace formula consists of 322 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-15 12:08:59,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:08:59,560 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:08:59,813 INFO L356 Elim1Store]: treesize reduction 39, result has 22.0 percent of original size [2022-04-15 12:08:59,814 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-15 12:09:00,269 INFO L356 Elim1Store]: treesize reduction 147, result has 14.0 percent of original size [2022-04-15 12:09:00,270 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-15 12:09:00,515 INFO L356 Elim1Store]: treesize reduction 11, result has 8.3 percent of original size [2022-04-15 12:09:00,515 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-15 12:09:00,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85363#true} is VALID [2022-04-15 12:09:00,628 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-15 12:09:00,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:09:00,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85363#true} #95#return; {85363#true} is VALID [2022-04-15 12:09:00,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {85363#true} call #t~ret10 := main(); {85363#true} is VALID [2022-04-15 12:09:00,628 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-15 12:09:00,628 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-15 12:09:00,628 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-15 12:09:00,628 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-15 12:09:00,628 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-15 12:09:00,628 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-15 12:09:00,628 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-15 12:09:00,628 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-15 12:09:00,629 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-15 12:09:00,629 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-15 12:09:00,629 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-15 12:09:00,629 INFO L290 TraceCheckUtils]: 16: Hoare triple {85363#true} assume !(~i~1 >= 0); {85363#true} is VALID [2022-04-15 12:09:00,629 INFO L272 TraceCheckUtils]: 17: Hoare triple {85363#true} call SelectionSort(); {85363#true} is VALID [2022-04-15 12:09:00,629 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-15 12:09:00,630 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-15 12:09:00,630 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-15 12:09:00,631 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-15 12:09:00,631 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-15 12:09:00,631 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-15 12:09:00,632 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-15 12:09:00,632 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-15 12:09:00,633 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-15 12:09:00,633 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-15 12:09:00,633 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-15 12:09:00,634 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-15 12:09:00,634 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-15 12:09:00,635 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-15 12:09:00,635 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-15 12:09:00,635 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-15 12:09:00,636 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-15 12:09:00,636 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-15 12:09:00,637 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-15 12:09:00,637 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-15 12:09:00,637 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-15 12:09:00,638 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-15 12:09:00,639 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-15 12:09:00,639 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-15 12:09:00,640 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-15 12:09:00,640 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-15 12:09:00,641 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-15 12:09:00,641 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-15 12:09:00,642 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-15 12:09:00,643 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-15 12:09:00,643 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-15 12:09:00,644 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-15 12:09:00,644 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-15 12:09:00,645 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-15 12:09:00,645 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-15 12:09:00,646 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-15 12:09:00,646 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-15 12:09:00,646 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:09:00,646 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-15 12:09:00,646 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-15 12:09:00,646 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-15 12:09:00,646 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-15 12:09:00,646 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-15 12:09:00,646 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-15 12:09:00,646 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:09:00,646 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-15 12:09:00,646 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-15 12:09:00,647 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-15 12:09:00,647 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:09:00,647 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-15 12:09:00,647 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-15 12:09:00,647 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:09:00,647 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 12:09:00,647 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85363#true} #91#return; {85364#false} is VALID [2022-04-15 12:09:00,647 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-15 12:09:00,647 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-15 12:09:00,647 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-15 12:09:00,647 INFO L290 TraceCheckUtils]: 75: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 12:09:00,647 INFO L290 TraceCheckUtils]: 76: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-15 12:09:00,647 INFO L290 TraceCheckUtils]: 77: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 12:09:00,647 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:09:00,648 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:09:00,648 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-15 12:09:00,648 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-15 12:09:00,648 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-15 12:09:00,648 INFO L290 TraceCheckUtils]: 83: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 12:09:00,648 INFO L290 TraceCheckUtils]: 84: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-15 12:09:00,648 INFO L290 TraceCheckUtils]: 85: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 12:09:00,648 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:09:00,648 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:09:00,648 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-15 12:09:00,648 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-15 12:09:00,648 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-15 12:09:00,648 INFO L290 TraceCheckUtils]: 91: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 12:09:00,648 INFO L290 TraceCheckUtils]: 92: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-15 12:09:00,648 INFO L290 TraceCheckUtils]: 93: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 12:09:00,649 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:09:00,649 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:09:00,649 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-15 12:09:00,649 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-15 12:09:00,649 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-15 12:09:00,649 INFO L290 TraceCheckUtils]: 99: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 12:09:00,649 INFO L290 TraceCheckUtils]: 100: Hoare triple {85364#false} assume !(0 == ~cond); {85364#false} is VALID [2022-04-15 12:09:00,649 INFO L290 TraceCheckUtils]: 101: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 12:09:00,649 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85364#false} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:09:00,649 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:09:00,649 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-15 12:09:00,649 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-15 12:09:00,649 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-15 12:09:00,649 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 12:09:00,649 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-15 12:09:00,650 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-15 12:09:00,650 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-15 12:09:00,650 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:09:03,017 INFO L290 TraceCheckUtils]: 109: Hoare triple {85364#false} assume !false; {85364#false} is VALID [2022-04-15 12:09:03,017 INFO L290 TraceCheckUtils]: 108: Hoare triple {85364#false} assume 0 == ~cond; {85364#false} is VALID [2022-04-15 12:09:03,017 INFO L290 TraceCheckUtils]: 107: Hoare triple {85364#false} ~cond := #in~cond; {85364#false} is VALID [2022-04-15 12:09:03,017 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-15 12:09:03,017 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-15 12:09:03,018 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-15 12:09:03,018 INFO L290 TraceCheckUtils]: 103: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:09:03,018 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:09:03,018 INFO L290 TraceCheckUtils]: 101: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:09:03,018 INFO L290 TraceCheckUtils]: 100: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:09:03,018 INFO L290 TraceCheckUtils]: 99: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:09:03,018 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-15 12:09:03,018 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-15 12:09:03,018 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-15 12:09:03,018 INFO L290 TraceCheckUtils]: 95: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:09:03,018 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:09:03,018 INFO L290 TraceCheckUtils]: 93: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:09:03,018 INFO L290 TraceCheckUtils]: 92: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:09:03,018 INFO L290 TraceCheckUtils]: 91: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:09:03,019 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-15 12:09:03,019 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-15 12:09:03,019 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-15 12:09:03,019 INFO L290 TraceCheckUtils]: 87: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:09:03,019 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:09:03,019 INFO L290 TraceCheckUtils]: 85: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:09:03,019 INFO L290 TraceCheckUtils]: 84: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:09:03,019 INFO L290 TraceCheckUtils]: 83: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:09:03,019 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-15 12:09:03,019 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-15 12:09:03,019 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-15 12:09:03,019 INFO L290 TraceCheckUtils]: 79: Hoare triple {85364#false} havoc #t~mem9; {85364#false} is VALID [2022-04-15 12:09:03,019 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {85363#true} {85364#false} #93#return; {85364#false} is VALID [2022-04-15 12:09:03,019 INFO L290 TraceCheckUtils]: 77: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:09:03,019 INFO L290 TraceCheckUtils]: 76: Hoare triple {85363#true} assume !(0 == ~cond); {85363#true} is VALID [2022-04-15 12:09:03,020 INFO L290 TraceCheckUtils]: 75: Hoare triple {85363#true} ~cond := #in~cond; {85363#true} is VALID [2022-04-15 12:09:03,020 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-15 12:09:03,020 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-15 12:09:03,020 INFO L290 TraceCheckUtils]: 72: Hoare triple {85364#false} ~i~1 := 0; {85364#false} is VALID [2022-04-15 12:09:03,020 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {85364#false} {85363#true} #91#return; {85364#false} is VALID [2022-04-15 12:09:03,020 INFO L290 TraceCheckUtils]: 70: Hoare triple {85364#false} assume true; {85364#false} is VALID [2022-04-15 12:09:03,020 INFO L290 TraceCheckUtils]: 69: Hoare triple {85364#false} assume !(~lh~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:09:03,020 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-15 12:09:03,020 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-15 12:09:03,020 INFO L290 TraceCheckUtils]: 66: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:09:03,020 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-15 12:09:03,020 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-15 12:09:03,020 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-15 12:09:03,020 INFO L290 TraceCheckUtils]: 62: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:09:03,021 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-15 12:09:03,021 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-15 12:09:03,021 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-15 12:09:03,021 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-15 12:09:03,021 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-15 12:09:03,021 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-15 12:09:03,021 INFO L290 TraceCheckUtils]: 55: Hoare triple {85364#false} assume !(~i~0 < ~n~0); {85364#false} is VALID [2022-04-15 12:09:03,021 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-15 12:09:03,021 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-15 12:09:03,022 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-15 12:09:03,023 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-15 12:09:03,023 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-15 12:09:03,023 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-15 12:09:03,024 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-15 12:09:03,025 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-15 12:09:03,026 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-15 12:09:03,027 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-15 12:09:03,028 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-15 12:09:03,028 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-15 12:09:03,029 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-15 12:09:03,032 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-15 12:09:03,033 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-15 12:09:03,034 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-15 12:09:03,038 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-15 12:09:03,039 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-15 12:09:03,040 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-15 12:09:03,041 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-15 12:09:03,041 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-15 12:09:03,041 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-15 12:09:03,041 INFO L290 TraceCheckUtils]: 32: Hoare triple {85363#true} assume !(~i~0 < ~n~0); {85363#true} is VALID [2022-04-15 12:09:03,041 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-15 12:09:03,041 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-15 12:09:03,041 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-15 12:09:03,042 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-15 12:09:03,042 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-15 12:09:03,042 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-15 12:09:03,042 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-15 12:09:03,042 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-15 12:09:03,042 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-15 12:09:03,042 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-15 12:09:03,042 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-15 12:09:03,042 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-15 12:09:03,042 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-15 12:09:03,042 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-15 12:09:03,043 INFO L272 TraceCheckUtils]: 17: Hoare triple {85363#true} call SelectionSort(); {85363#true} is VALID [2022-04-15 12:09:03,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {85363#true} assume !(~i~1 >= 0); {85363#true} is VALID [2022-04-15 12:09:03,043 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-15 12:09:03,043 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-15 12:09:03,043 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-15 12:09:03,043 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-15 12:09:03,043 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-15 12:09:03,043 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-15 12:09:03,043 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-15 12:09:03,043 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-15 12:09:03,043 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-15 12:09:03,043 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-15 12:09:03,044 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-15 12:09:03,044 INFO L272 TraceCheckUtils]: 4: Hoare triple {85363#true} call #t~ret10 := main(); {85363#true} is VALID [2022-04-15 12:09:03,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85363#true} {85363#true} #95#return; {85363#true} is VALID [2022-04-15 12:09:03,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {85363#true} assume true; {85363#true} is VALID [2022-04-15 12:09:03,044 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-15 12:09:03,044 INFO L272 TraceCheckUtils]: 0: Hoare triple {85363#true} call ULTIMATE.init(); {85363#true} is VALID [2022-04-15 12:09:03,045 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-15 12:09:03,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1336363366] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 12:09:03,045 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-15 12:09:03,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 21, 14] total 50 [2022-04-15 12:09:03,045 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:09:03,045 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [158773266] [2022-04-15 12:09:03,045 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [158773266] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:09:03,045 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:09:03,045 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-15 12:09:03,046 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [233366855] [2022-04-15 12:09:03,046 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:09:03,046 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-15 12:09:03,046 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:09:03,046 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-15 12:09:03,089 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-15 12:09:03,090 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-15 12:09:03,090 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:09:03,090 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-15 12:09:03,090 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=160, Invalid=2290, Unknown=0, NotChecked=0, Total=2450 [2022-04-15 12:09:03,090 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-15 12:09:24,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:09:24,494 INFO L93 Difference]: Finished difference Result 2132 states and 2958 transitions. [2022-04-15 12:09:24,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-15 12:09:24,495 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-15 12:09:24,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:09:24,495 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-15 12:09:24,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 161 transitions. [2022-04-15 12:09:24,496 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-15 12:09:24,497 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 161 transitions. [2022-04-15 12:09:24,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 161 transitions. [2022-04-15 12:09:24,661 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-15 12:09:24,731 INFO L225 Difference]: With dead ends: 2132 [2022-04-15 12:09:24,731 INFO L226 Difference]: Without dead ends: 1431 [2022-04-15 12:09:24,732 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 285 GetRequests, 201 SyntacticMatches, 1 SemanticMatches, 83 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1572 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=548, Invalid=6592, Unknown=0, NotChecked=0, Total=7140 [2022-04-15 12:09:24,733 INFO L913 BasicCegarLoop]: 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-15 12:09:24,733 INFO L914 BasicCegarLoop]: 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-15 12:09:24,733 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1431 states. [2022-04-15 12:09:37,122 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1431 to 1146. [2022-04-15 12:09:37,122 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:09:37,123 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-15 12:09:37,124 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-15 12:09:37,125 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-15 12:09:37,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:09:37,182 INFO L93 Difference]: Finished difference Result 1431 states and 1962 transitions. [2022-04-15 12:09:37,182 INFO L276 IsEmpty]: Start isEmpty. Operand 1431 states and 1962 transitions. [2022-04-15 12:09:37,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:09:37,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:09:37,184 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-15 12:09:37,185 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-15 12:09:37,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:09:37,233 INFO L93 Difference]: Finished difference Result 1431 states and 1962 transitions. [2022-04-15 12:09:37,233 INFO L276 IsEmpty]: Start isEmpty. Operand 1431 states and 1962 transitions. [2022-04-15 12:09:37,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:09:37,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:09:37,234 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:09:37,234 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:09:37,235 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-15 12:09:37,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1146 states to 1146 states and 1558 transitions. [2022-04-15 12:09:37,282 INFO L78 Accepts]: Start accepts. Automaton has 1146 states and 1558 transitions. Word has length 110 [2022-04-15 12:09:37,282 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:09:37,282 INFO L478 AbstractCegarLoop]: Abstraction has 1146 states and 1558 transitions. [2022-04-15 12:09:37,282 INFO L479 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-15 12:09:37,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 1146 states and 1558 transitions. [2022-04-15 12:09:44,900 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-15 12:09:44,900 INFO L276 IsEmpty]: Start isEmpty. Operand 1146 states and 1558 transitions. [2022-04-15 12:09:44,901 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 12:09:44,901 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:09:44,901 INFO L499 BasicCegarLoop]: 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-15 12:09:44,920 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (35)] Forceful destruction successful, exit code 0 [2022-04-15 12:09:45,102 WARN L460 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-15 12:09:45,102 INFO L403 AbstractCegarLoop]: === Iteration 37 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:09:45,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:09:45,102 INFO L85 PathProgramCache]: Analyzing trace with hash -1024810956, now seen corresponding path program 23 times [2022-04-15 12:09:45,102 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:09:45,103 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [931884973] [2022-04-15 12:09:45,104 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:09:45,104 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:09:45,105 INFO L85 PathProgramCache]: Analyzing trace with hash -1024810956, now seen corresponding path program 24 times [2022-04-15 12:09:45,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:09:45,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1318565747] [2022-04-15 12:09:45,105 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:09:45,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:09:45,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:09:45,250 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:09:45,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:09:45,261 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-15 12:09:45,262 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-15 12:09:45,263 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-15 12:09:45,267 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:09:45,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:09:46,641 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-15 12:09:46,641 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-15 12:09:46,642 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-15 12:09:46,642 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-15 12:09:46,643 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-15 12:09:46,644 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-15 12:09:46,645 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-15 12:09:46,645 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-15 12:09:46,646 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-15 12:09:46,647 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-15 12:09:46,648 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-15 12:09:46,649 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-15 12:09:46,651 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-15 12:09:46,652 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-15 12:09:46,653 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-15 12:09:46,655 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-15 12:09:46,656 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-15 12:09:46,657 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-15 12:09:46,658 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-15 12:09:46,658 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-15 12:09:46,659 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-15 12:09:46,660 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-15 12:09:46,660 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-15 12:09:46,661 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-15 12:09:46,662 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-15 12:09:46,663 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-15 12:09:46,663 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-15 12:09:46,663 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-15 12:09:46,664 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-15 12:09:46,665 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-15 12:09:46,665 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-15 12:09:46,666 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-15 12:09:46,666 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-15 12:09:46,666 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-15 12:09:46,667 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-15 12:09:46,667 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-15 12:09:46,668 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-15 12:09:46,668 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-15 12:09:46,669 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-15 12:09:46,669 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-15 12:09:46,670 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-15 12:09:46,670 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-15 12:09:46,670 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-15 12:09:46,671 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-15 12:09:46,671 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-15 12:09:46,672 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-15 12:09:46,672 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-15 12:09:46,672 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-15 12:09:46,673 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-15 12:09:46,673 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-15 12:09:46,674 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-15 12:09:46,674 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-15 12:09:46,674 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-15 12:09:46,675 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-15 12:09:46,675 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:09:46,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:09:46,678 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 12:09:46,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 12:09:46,678 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 12:09:46,678 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 12:09:46,678 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:09:46,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:09:46,682 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 12:09:46,682 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 12:09:46,682 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 12:09:46,682 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 12:09:46,682 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:09:46,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:09:46,692 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 12:09:46,692 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 12:09:46,692 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 12:09:46,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 12:09:46,692 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 12:09:46,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:09:46,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 12:09:46,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 12:09:46,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 12:09:46,694 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 12:09:46,695 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-15 12:09:46,696 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-15 12:09:46,696 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-15 12:09:46,697 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-15 12:09:46,697 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-15 12:09:46,697 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-15 12:09:46,698 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-15 12:09:46,699 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-15 12:09:46,699 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-15 12:09:46,700 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-15 12:09:46,700 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-15 12:09:46,701 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-15 12:09:46,701 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-15 12:09:46,702 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-15 12:09:46,702 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-15 12:09:46,703 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-15 12:09:46,703 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-15 12:09:46,703 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-15 12:09:46,704 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-15 12:09:46,704 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-15 12:09:46,705 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-15 12:09:46,705 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-15 12:09:46,706 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-15 12:09:46,707 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-15 12:09:46,708 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-15 12:09:46,708 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-15 12:09:46,709 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-15 12:09:46,710 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-15 12:09:46,711 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-15 12:09:46,712 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-15 12:09:46,713 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-15 12:09:46,715 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-15 12:09:46,716 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-15 12:09:46,717 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-15 12:09:46,718 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-15 12:09:46,719 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-15 12:09:46,720 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-15 12:09:46,720 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-15 12:09:46,721 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-15 12:09:46,722 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-15 12:09:46,722 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-15 12:09:46,723 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-15 12:09:46,724 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-15 12:09:46,725 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-15 12:09:46,725 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-15 12:09:46,726 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-15 12:09:46,726 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-15 12:09:46,727 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-15 12:09:46,727 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-15 12:09:46,728 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-15 12:09:46,728 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-15 12:09:46,729 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-15 12:09:46,729 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-15 12:09:46,729 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-15 12:09:46,730 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-15 12:09:46,730 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-15 12:09:46,731 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-15 12:09:46,731 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-15 12:09:46,732 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-15 12:09:46,732 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-15 12:09:46,733 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-15 12:09:46,733 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-15 12:09:46,733 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-15 12:09:46,734 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-15 12:09:46,734 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-15 12:09:46,735 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-15 12:09:46,735 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-15 12:09:46,735 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-15 12:09:46,736 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-15 12:09:46,736 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-15 12:09:46,736 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-15 12:09:46,737 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-15 12:09:46,737 INFO L290 TraceCheckUtils]: 72: Hoare triple {95635#false} ~i~1 := 0; {95635#false} is VALID [2022-04-15 12:09:46,737 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-15 12:09:46,737 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-15 12:09:46,737 INFO L290 TraceCheckUtils]: 75: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 12:09:46,737 INFO L290 TraceCheckUtils]: 76: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 12:09:46,737 INFO L290 TraceCheckUtils]: 77: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 12:09:46,738 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 12:09:46,738 INFO L290 TraceCheckUtils]: 79: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-15 12:09:46,738 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-15 12:09:46,738 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-15 12:09:46,738 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-15 12:09:46,738 INFO L290 TraceCheckUtils]: 83: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 12:09:46,738 INFO L290 TraceCheckUtils]: 84: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 12:09:46,738 INFO L290 TraceCheckUtils]: 85: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 12:09:46,738 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 12:09:46,738 INFO L290 TraceCheckUtils]: 87: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-15 12:09:46,738 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-15 12:09:46,738 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-15 12:09:46,738 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-15 12:09:46,738 INFO L290 TraceCheckUtils]: 91: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 12:09:46,738 INFO L290 TraceCheckUtils]: 92: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 12:09:46,738 INFO L290 TraceCheckUtils]: 93: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 12:09:46,739 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 12:09:46,739 INFO L290 TraceCheckUtils]: 95: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-15 12:09:46,739 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-15 12:09:46,739 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-15 12:09:46,739 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-15 12:09:46,739 INFO L290 TraceCheckUtils]: 99: Hoare triple {95634#true} ~cond := #in~cond; {95634#true} is VALID [2022-04-15 12:09:46,739 INFO L290 TraceCheckUtils]: 100: Hoare triple {95634#true} assume !(0 == ~cond); {95634#true} is VALID [2022-04-15 12:09:46,739 INFO L290 TraceCheckUtils]: 101: Hoare triple {95634#true} assume true; {95634#true} is VALID [2022-04-15 12:09:46,739 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {95634#true} {95635#false} #93#return; {95635#false} is VALID [2022-04-15 12:09:46,739 INFO L290 TraceCheckUtils]: 103: Hoare triple {95635#false} havoc #t~mem9; {95635#false} is VALID [2022-04-15 12:09:46,739 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-15 12:09:46,739 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-15 12:09:46,739 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-15 12:09:46,739 INFO L290 TraceCheckUtils]: 107: Hoare triple {95635#false} ~cond := #in~cond; {95635#false} is VALID [2022-04-15 12:09:46,739 INFO L290 TraceCheckUtils]: 108: Hoare triple {95635#false} assume 0 == ~cond; {95635#false} is VALID [2022-04-15 12:09:46,740 INFO L290 TraceCheckUtils]: 109: Hoare triple {95635#false} assume !false; {95635#false} is VALID [2022-04-15 12:09:46,740 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-15 12:09:46,740 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:09:46,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1318565747] [2022-04-15 12:09:46,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1318565747] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:09:46,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2055291119] [2022-04-15 12:09:46,741 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 12:09:46,741 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:09:46,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:09:46,742 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-15 12:09:46,743 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-15 12:09:47,085 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 11 check-sat command(s) [2022-04-15 12:09:47,086 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:09:47,089 INFO L263 TraceCheckSpWp]: Trace formula consists of 365 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-15 12:09:47,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:09:47,120 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:09:47,175 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 12:09:47,175 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-15 12:09:47,209 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-15 12:09:47,326 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:09:47,326 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-15 12:09:47,414 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:09:47,415 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-15 12:09:47,480 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-15 12:09:47,480 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-15 12:09:47,600 INFO L356 Elim1Store]: treesize reduction 25, result has 37.5 percent of original size [2022-04-15 12:09:47,600 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-15 12:09:48,242 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-15 12:09:49,683 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 12:09:49,684 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-15 12:09:49,788 INFO L272 TraceCheckUtils]: 0: Hoare triple {95634#true} call ULTIMATE.init(); {95634#true} is VALID [2022-04-15 12:09:49,789 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-15 12:09:49,789 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-15 12:09:49,789 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-15 12:09:49,790 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-15 12:09:49,790 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-15 12:09:49,791 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-15 12:09:49,791 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-15 12:09:49,792 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-15 12:09:49,792 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-15 12:09:49,793 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-15 12:09:49,793 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-15 12:09:49,794 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-15 12:09:49,794 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-15 12:09:49,795 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-15 12:09:49,795 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-15 12:09:49,796 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-15 12:09:49,796 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-15 12:09:49,797 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-15 12:09:49,797 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-15 12:09:49,797 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-15 12:09:49,798 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-15 12:09:49,798 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-15 12:09:49,798 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-15 12:09:49,799 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-15 12:09:49,799 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-15 12:09:49,799 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-15 12:09:49,800 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-15 12:09:49,800 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-15 12:09:49,800 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-15 12:09:49,801 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-15 12:09:49,801 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-15 12:09:49,801 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-15 12:09:49,802 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-15 12:09:49,802 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-15 12:09:49,803 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-15 12:09:49,803 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-15 12:09:49,803 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-15 12:09:49,804 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-15 12:09:49,804 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-15 12:09:49,805 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-15 12:09:49,805 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-15 12:09:49,805 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-15 12:09:49,806 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-15 12:09:49,806 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-15 12:09:49,806 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-15 12:09:49,808 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-15 12:09:49,808 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-15 12:09:49,809 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-15 12:09:49,809 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-15 12:09:49,810 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-15 12:09:49,810 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-15 12:09:49,810 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-15 12:09:49,811 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-15 12:09:49,811 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-15 12:09:49,811 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-15 12:09:49,813 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-15 12:09:49,813 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-15 12:09:49,813 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-15 12:09:49,814 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-15 12:09:49,814 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-15 12:09:49,815 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-15 12:09:49,815 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-15 12:09:49,816 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-15 12:09:49,817 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-15 12:09:49,817 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-15 12:09:49,817 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-15 12:09:49,819 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-15 12:09:49,819 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-15 12:09:49,819 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-15 12:09:49,820 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-15 12:09:49,820 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-15 12:09:49,821 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-15 12:09:49,821 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-15 12:09:49,822 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-15 12:09:49,822 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-15 12:09:49,823 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-15 12:09:49,823 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-15 12:09:49,823 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-15 12:09:49,824 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-15 12:09:49,824 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-15 12:09:49,825 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-15 12:09:49,825 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-15 12:09:49,826 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-15 12:09:49,826 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-15 12:09:49,826 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-15 12:09:49,827 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-15 12:09:49,827 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-15 12:09:49,827 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-15 12:09:49,828 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-15 12:09:49,829 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-15 12:09:49,829 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-15 12:09:49,829 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-15 12:09:49,829 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-15 12:09:49,830 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-15 12:09:49,830 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-15 12:09:49,831 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-15 12:09:49,831 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-15 12:09:49,832 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-15 12:09:49,832 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-15 12:09:49,832 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-15 12:09:49,833 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-15 12:09:49,833 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-15 12:09:49,833 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-15 12:09:49,834 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-15 12:09:49,834 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-15 12:09:49,835 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-15 12:09:49,835 INFO L290 TraceCheckUtils]: 107: Hoare triple {96081#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {96085#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:09:49,835 INFO L290 TraceCheckUtils]: 108: Hoare triple {96085#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {95635#false} is VALID [2022-04-15 12:09:49,835 INFO L290 TraceCheckUtils]: 109: Hoare triple {95635#false} assume !false; {95635#false} is VALID [2022-04-15 12:09:49,836 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-15 12:09:49,836 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:09:50,250 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-15 12:09:50,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2055291119] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:09:50,251 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:09:50,251 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [34, 23] total 55 [2022-04-15 12:09:50,251 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:09:50,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [931884973] [2022-04-15 12:09:50,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [931884973] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:09:50,251 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:09:50,251 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [34] imperfect sequences [] total 34 [2022-04-15 12:09:50,251 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [119627022] [2022-04-15 12:09:50,251 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:09:50,252 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-15 12:09:50,252 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:09:50,252 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-15 12:09:50,312 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-15 12:09:50,312 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 34 states [2022-04-15 12:09:50,313 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:09:50,313 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 34 interpolants. [2022-04-15 12:09:50,313 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=248, Invalid=3526, Unknown=12, NotChecked=120, Total=3906 [2022-04-15 12:09:50,313 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-15 12:10:49,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:10:49,424 INFO L93 Difference]: Finished difference Result 3247 states and 4448 transitions. [2022-04-15 12:10:49,424 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 102 states. [2022-04-15 12:10:49,424 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-15 12:10:49,425 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:10:49,425 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-15 12:10:49,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 209 transitions. [2022-04-15 12:10:49,426 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-15 12:10:49,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 209 transitions. [2022-04-15 12:10:49,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 102 states and 209 transitions. [2022-04-15 12:10:49,753 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-15 12:10:49,966 INFO L225 Difference]: With dead ends: 3247 [2022-04-15 12:10:49,967 INFO L226 Difference]: Without dead ends: 2448 [2022-04-15 12:10:49,970 INFO L912 BasicCegarLoop]: 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-15 12:10:49,970 INFO L913 BasicCegarLoop]: 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-15 12:10:49,970 INFO L914 BasicCegarLoop]: 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-15 12:10:49,971 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2448 states. [2022-04-15 12:11:19,369 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2448 to 2216. [2022-04-15 12:11:19,370 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:11:19,372 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-15 12:11:19,374 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-15 12:11:19,375 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-15 12:11:19,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:11:19,519 INFO L93 Difference]: Finished difference Result 2448 states and 3314 transitions. [2022-04-15 12:11:19,519 INFO L276 IsEmpty]: Start isEmpty. Operand 2448 states and 3314 transitions. [2022-04-15 12:11:19,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:11:19,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:11:19,524 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-15 12:11:19,525 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-15 12:11:19,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:11:19,666 INFO L93 Difference]: Finished difference Result 2448 states and 3314 transitions. [2022-04-15 12:11:19,666 INFO L276 IsEmpty]: Start isEmpty. Operand 2448 states and 3314 transitions. [2022-04-15 12:11:19,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:11:19,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:11:19,668 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:11:19,668 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:11:19,671 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-15 12:11:19,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2216 states to 2216 states and 3039 transitions. [2022-04-15 12:11:19,897 INFO L78 Accepts]: Start accepts. Automaton has 2216 states and 3039 transitions. Word has length 110 [2022-04-15 12:11:19,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:11:19,898 INFO L478 AbstractCegarLoop]: Abstraction has 2216 states and 3039 transitions. [2022-04-15 12:11:19,898 INFO L479 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-15 12:11:19,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2216 states and 3039 transitions. [2022-04-15 12:11:41,070 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-15 12:11:41,071 INFO L276 IsEmpty]: Start isEmpty. Operand 2216 states and 3039 transitions. [2022-04-15 12:11:41,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-15 12:11:41,073 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 12:11:41,073 INFO L499 BasicCegarLoop]: 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-15 12:11:41,097 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-15 12:11:41,274 WARN L460 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-15 12:11:41,274 INFO L403 AbstractCegarLoop]: === Iteration 38 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 12:11:41,274 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 12:11:41,274 INFO L85 PathProgramCache]: Analyzing trace with hash 2054002614, now seen corresponding path program 25 times [2022-04-15 12:11:41,274 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 12:11:41,275 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [654080529] [2022-04-15 12:11:41,276 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-15 12:11:41,277 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-15 12:11:41,277 INFO L85 PathProgramCache]: Analyzing trace with hash 2054002614, now seen corresponding path program 26 times [2022-04-15 12:11:41,277 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 12:11:41,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1646977597] [2022-04-15 12:11:41,277 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 12:11:41,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 12:11:41,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:11:41,446 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 12:11:41,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:11:41,464 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-15 12:11:41,465 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-15 12:11:41,466 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-15 12:11:41,470 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 12:11:41,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:11:43,145 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-15 12:11:43,146 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-15 12:11:43,146 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-15 12:11:43,147 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-15 12:11:43,147 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-15 12:11:43,148 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-15 12:11:43,148 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-15 12:11:43,149 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-15 12:11:43,150 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-15 12:11:43,150 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-15 12:11:43,151 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-15 12:11:43,152 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-15 12:11:43,153 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-15 12:11:43,154 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-15 12:11:43,154 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-15 12:11:43,156 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-15 12:11:43,157 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-15 12:11:43,158 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-15 12:11:43,158 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-15 12:11:43,159 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-15 12:11:43,160 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-15 12:11:43,161 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-15 12:11:43,162 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-15 12:11:43,163 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-15 12:11:43,164 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-15 12:11:43,165 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-15 12:11:43,166 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-15 12:11:43,167 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-15 12:11:43,168 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-15 12:11:43,169 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-15 12:11:43,169 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-15 12:11:43,170 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-15 12:11:43,171 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-15 12:11:43,172 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-15 12:11:43,172 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-15 12:11:43,173 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-15 12:11:43,174 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-15 12:11:43,174 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-15 12:11:43,174 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-15 12:11:43,175 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-15 12:11:43,175 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-15 12:11:43,176 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-15 12:11:43,176 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-15 12:11:43,176 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-15 12:11:43,177 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-15 12:11:43,177 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-15 12:11:43,178 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-15 12:11:43,178 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-15 12:11:43,179 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-15 12:11:43,179 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-15 12:11:43,180 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-15 12:11:43,180 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-15 12:11:43,180 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-15 12:11:43,181 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-15 12:11:43,182 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-15 12:11:43,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:11:43,184 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 12:11:43,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 12:11:43,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 12:11:43,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 12:11:43,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 82 [2022-04-15 12:11:43,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:11:43,186 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 12:11:43,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 12:11:43,186 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 12:11:43,186 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 12:11:43,186 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 90 [2022-04-15 12:11:43,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:11:43,188 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 12:11:43,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 12:11:43,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 12:11:43,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 12:11:43,188 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 98 [2022-04-15 12:11:43,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:11:43,190 INFO L290 TraceCheckUtils]: 0: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 12:11:43,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 12:11:43,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 12:11:43,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 12:11:43,191 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-15 12:11:43,191 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-15 12:11:43,192 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-15 12:11:43,192 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-15 12:11:43,193 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-15 12:11:43,193 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-15 12:11:43,194 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-15 12:11:43,194 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-15 12:11:43,195 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-15 12:11:43,195 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-15 12:11:43,196 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-15 12:11:43,196 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-15 12:11:43,197 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-15 12:11:43,197 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-15 12:11:43,198 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-15 12:11:43,198 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-15 12:11:43,199 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-15 12:11:43,199 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-15 12:11:43,200 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-15 12:11:43,200 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-15 12:11:43,201 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-15 12:11:43,201 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-15 12:11:43,202 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-15 12:11:43,202 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-15 12:11:43,203 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-15 12:11:43,203 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-15 12:11:43,204 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-15 12:11:43,204 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-15 12:11:43,205 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-15 12:11:43,206 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-15 12:11:43,207 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-15 12:11:43,208 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-15 12:11:43,209 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-15 12:11:43,210 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-15 12:11:43,211 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-15 12:11:43,212 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-15 12:11:43,213 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-15 12:11:43,214 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-15 12:11:43,215 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-15 12:11:43,216 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-15 12:11:43,216 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-15 12:11:43,217 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-15 12:11:43,218 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-15 12:11:43,219 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-15 12:11:43,220 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-15 12:11:43,221 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-15 12:11:43,222 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-15 12:11:43,223 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-15 12:11:43,224 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-15 12:11:43,224 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-15 12:11:43,225 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-15 12:11:43,226 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-15 12:11:43,226 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-15 12:11:43,227 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-15 12:11:43,228 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-15 12:11:43,228 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-15 12:11:43,229 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-15 12:11:43,229 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-15 12:11:43,229 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-15 12:11:43,230 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-15 12:11:43,230 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-15 12:11:43,230 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-15 12:11:43,231 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-15 12:11:43,231 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-15 12:11:43,232 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-15 12:11:43,232 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-15 12:11:43,233 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-15 12:11:43,233 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-15 12:11:43,233 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-15 12:11:43,234 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-15 12:11:43,234 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-15 12:11:43,235 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-15 12:11:43,235 INFO L290 TraceCheckUtils]: 72: Hoare triple {112236#false} ~i~1 := 0; {112236#false} is VALID [2022-04-15 12:11:43,235 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-15 12:11:43,235 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-15 12:11:43,235 INFO L290 TraceCheckUtils]: 75: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 12:11:43,235 INFO L290 TraceCheckUtils]: 76: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 12:11:43,235 INFO L290 TraceCheckUtils]: 77: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 12:11:43,235 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 12:11:43,235 INFO L290 TraceCheckUtils]: 79: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-15 12:11:43,235 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-15 12:11:43,235 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-15 12:11:43,235 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-15 12:11:43,236 INFO L290 TraceCheckUtils]: 83: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 12:11:43,236 INFO L290 TraceCheckUtils]: 84: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 12:11:43,236 INFO L290 TraceCheckUtils]: 85: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 12:11:43,236 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 12:11:43,236 INFO L290 TraceCheckUtils]: 87: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-15 12:11:43,236 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-15 12:11:43,236 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-15 12:11:43,236 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-15 12:11:43,236 INFO L290 TraceCheckUtils]: 91: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 12:11:43,236 INFO L290 TraceCheckUtils]: 92: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 12:11:43,236 INFO L290 TraceCheckUtils]: 93: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 12:11:43,236 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 12:11:43,236 INFO L290 TraceCheckUtils]: 95: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-15 12:11:43,236 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-15 12:11:43,236 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-15 12:11:43,237 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-15 12:11:43,237 INFO L290 TraceCheckUtils]: 99: Hoare triple {112235#true} ~cond := #in~cond; {112235#true} is VALID [2022-04-15 12:11:43,237 INFO L290 TraceCheckUtils]: 100: Hoare triple {112235#true} assume !(0 == ~cond); {112235#true} is VALID [2022-04-15 12:11:43,237 INFO L290 TraceCheckUtils]: 101: Hoare triple {112235#true} assume true; {112235#true} is VALID [2022-04-15 12:11:43,237 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {112235#true} {112236#false} #93#return; {112236#false} is VALID [2022-04-15 12:11:43,237 INFO L290 TraceCheckUtils]: 103: Hoare triple {112236#false} havoc #t~mem9; {112236#false} is VALID [2022-04-15 12:11:43,237 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-15 12:11:43,237 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-15 12:11:43,237 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-15 12:11:43,237 INFO L290 TraceCheckUtils]: 107: Hoare triple {112236#false} ~cond := #in~cond; {112236#false} is VALID [2022-04-15 12:11:43,237 INFO L290 TraceCheckUtils]: 108: Hoare triple {112236#false} assume 0 == ~cond; {112236#false} is VALID [2022-04-15 12:11:43,237 INFO L290 TraceCheckUtils]: 109: Hoare triple {112236#false} assume !false; {112236#false} is VALID [2022-04-15 12:11:43,238 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-15 12:11:43,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 12:11:43,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1646977597] [2022-04-15 12:11:43,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1646977597] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:11:43,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1290380842] [2022-04-15 12:11:43,239 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 12:11:43,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 12:11:43,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 12:11:43,240 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-15 12:11:43,240 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-15 12:11:43,386 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 12:11:43,387 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 12:11:43,388 INFO L263 TraceCheckSpWp]: Trace formula consists of 371 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-15 12:11:43,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 12:11:43,409 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 12:11:43,474 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-15 12:11:43,475 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-15 12:11:43,514 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-15 12:11:43,622 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:11:43,622 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-15 12:11:43,702 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:11:43,702 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-15 12:11:43,781 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:11:43,782 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-15 12:11:43,877 INFO L356 Elim1Store]: treesize reduction 31, result has 22.5 percent of original size [2022-04-15 12:11:43,877 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-15 12:11:44,499 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-15 12:11:46,083 INFO L356 Elim1Store]: treesize reduction 11, result has 21.4 percent of original size [2022-04-15 12:11:46,083 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-15 12:11:46,207 INFO L272 TraceCheckUtils]: 0: Hoare triple {112235#true} call ULTIMATE.init(); {112235#true} is VALID [2022-04-15 12:11:46,208 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-15 12:11:46,208 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-15 12:11:46,209 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-15 12:11:46,209 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-15 12:11:46,209 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-15 12:11:46,210 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-15 12:11:46,210 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-15 12:11:46,211 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-15 12:11:46,212 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-15 12:11:46,212 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-15 12:11:46,213 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-15 12:11:46,213 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-15 12:11:46,214 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-15 12:11:46,214 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-15 12:11:46,215 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-15 12:11:46,215 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-15 12:11:46,215 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-15 12:11:46,216 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-15 12:11:46,216 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-15 12:11:46,217 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-15 12:11:46,217 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-15 12:11:46,217 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-15 12:11:46,218 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-15 12:11:46,218 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-15 12:11:46,218 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-15 12:11:46,231 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-15 12:11:46,232 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-15 12:11:46,232 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-15 12:11:46,233 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-15 12:11:46,235 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-15 12:11:46,235 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-15 12:11:46,236 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-15 12:11:46,244 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-15 12:11:46,245 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-15 12:11:46,245 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-15 12:11:46,246 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-15 12:11:46,247 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-15 12:11:46,248 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-15 12:11:46,249 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-15 12:11:46,249 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-15 12:11:46,250 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-15 12:11:46,250 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-15 12:11:46,251 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-15 12:11:46,251 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-15 12:11:46,252 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-15 12:11:46,253 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-15 12:11:46,254 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-15 12:11:46,254 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-15 12:11:46,255 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-15 12:11:46,256 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-15 12:11:46,256 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-15 12:11:46,257 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-15 12:11:46,257 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-15 12:11:46,258 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-15 12:11:46,258 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-15 12:11:46,260 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-15 12:11:46,261 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-15 12:11:46,261 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-15 12:11:46,262 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-15 12:11:46,262 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-15 12:11:46,263 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-15 12:11:46,263 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-15 12:11:46,265 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-15 12:11:46,266 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-15 12:11:46,266 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-15 12:11:46,267 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-15 12:11:46,268 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-15 12:11:46,269 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-15 12:11:46,270 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-15 12:11:46,270 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-15 12:11:46,271 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-15 12:11:46,271 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-15 12:11:46,272 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-15 12:11:46,273 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-15 12:11:46,273 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-15 12:11:46,273 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-15 12:11:46,274 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-15 12:11:46,274 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-15 12:11:46,275 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-15 12:11:46,275 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-15 12:11:46,276 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-15 12:11:46,277 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-15 12:11:46,277 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-15 12:11:46,277 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-15 12:11:46,278 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-15 12:11:46,278 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-15 12:11:46,279 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-15 12:11:46,279 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-15 12:11:46,279 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-15 12:11:46,280 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-15 12:11:46,281 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-15 12:11:46,281 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-15 12:11:46,282 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-15 12:11:46,282 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-15 12:11:46,282 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-15 12:11:46,283 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-15 12:11:46,283 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-15 12:11:46,284 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-15 12:11:46,285 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-15 12:11:46,285 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-15 12:11:46,285 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-15 12:11:46,286 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-15 12:11:46,286 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-15 12:11:46,287 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-15 12:11:46,287 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-15 12:11:46,288 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-15 12:11:46,288 INFO L290 TraceCheckUtils]: 107: Hoare triple {112683#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {112687#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 12:11:46,288 INFO L290 TraceCheckUtils]: 108: Hoare triple {112687#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {112236#false} is VALID [2022-04-15 12:11:46,288 INFO L290 TraceCheckUtils]: 109: Hoare triple {112236#false} assume !false; {112236#false} is VALID [2022-04-15 12:11:46,289 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-15 12:11:46,289 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 12:11:46,751 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-15 12:11:46,753 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1290380842] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 12:11:46,753 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 12:11:46,753 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [36, 22] total 56 [2022-04-15 12:11:46,753 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 12:11:46,753 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [654080529] [2022-04-15 12:11:46,753 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [654080529] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 12:11:46,753 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 12:11:46,753 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [36] imperfect sequences [] total 36 [2022-04-15 12:11:46,753 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1089960129] [2022-04-15 12:11:46,753 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 12:11:46,754 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-15 12:11:46,754 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 12:11:46,754 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-15 12:11:46,826 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-15 12:11:46,826 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-15 12:11:46,826 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 12:11:46,827 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-15 12:11:46,827 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=230, Invalid=3669, Unknown=11, NotChecked=122, Total=4032 [2022-04-15 12:11:46,827 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-15 12:12:52,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:12:52,025 INFO L93 Difference]: Finished difference Result 3068 states and 4214 transitions. [2022-04-15 12:12:52,025 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 85 states. [2022-04-15 12:12:52,025 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-15 12:12:52,025 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 12:12:52,025 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-15 12:12:52,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 209 transitions. [2022-04-15 12:12:52,027 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-15 12:12:52,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 209 transitions. [2022-04-15 12:12:52,028 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 209 transitions. [2022-04-15 12:12:52,413 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-15 12:12:52,775 INFO L225 Difference]: With dead ends: 3068 [2022-04-15 12:12:52,775 INFO L226 Difference]: Without dead ends: 2901 [2022-04-15 12:12:52,778 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 280 GetRequests, 124 SyntacticMatches, 13 SemanticMatches, 143 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 6074 ImplicationChecksByTransitivity, 13.6s TimeCoverageRelationStatistics Valid=2026, Invalid=18529, Unknown=41, NotChecked=284, Total=20880 [2022-04-15 12:12:52,778 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 208 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 2400 mSolverCounterSat, 214 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.8s 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.9s IncrementalHoareTripleChecker+Time [2022-04-15 12:12:52,778 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [209 Valid, 33 Invalid, 2614 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [214 Valid, 2400 Invalid, 0 Unknown, 0 Unchecked, 3.9s Time] [2022-04-15 12:12:52,780 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 2901 states. [2022-04-15 12:13:24,284 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 2901 to 2224. [2022-04-15 12:13:24,284 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 12:13:24,286 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-15 12:13:24,288 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-15 12:13:24,289 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-15 12:13:24,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:13:24,484 INFO L93 Difference]: Finished difference Result 2901 states and 3980 transitions. [2022-04-15 12:13:24,485 INFO L276 IsEmpty]: Start isEmpty. Operand 2901 states and 3980 transitions. [2022-04-15 12:13:24,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:13:24,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:13:24,489 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-15 12:13:24,490 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-15 12:13:24,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 12:13:24,690 INFO L93 Difference]: Finished difference Result 2901 states and 3980 transitions. [2022-04-15 12:13:24,690 INFO L276 IsEmpty]: Start isEmpty. Operand 2901 states and 3980 transitions. [2022-04-15 12:13:24,692 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 12:13:24,692 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 12:13:24,692 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 12:13:24,692 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 12:13:24,694 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-15 12:13:24,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2224 states to 2224 states and 3044 transitions. [2022-04-15 12:13:24,898 INFO L78 Accepts]: Start accepts. Automaton has 2224 states and 3044 transitions. Word has length 110 [2022-04-15 12:13:24,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 12:13:24,898 INFO L478 AbstractCegarLoop]: Abstraction has 2224 states and 3044 transitions. [2022-04-15 12:13:24,898 INFO L479 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-15 12:13:24,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 2224 states and 3044 transitions.